我在SQL上有点新手(如果这个问题在其他地方得到了回答,我很抱歉,尽管我似乎找不到任何能解决这个问题的方法),而且在这个问题上我已经困惑了很久了。作为前言,我对各种连接和内部连接等进行了研究和了解,我了解它们是如何工作的,而且对于较小数量的数据,它们似乎工作得很好。但是,我的问题是,列数和表数都很大,我需要知道是否有更简单的方法将这些数据连接到一个查询中。
这就是我所拥有的:
$query2 = "SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase1 WHERE id IN(3,12,22)";
$query3 = "SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase2 WHERE id IN(3,12,22)";
$query4 = "SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase3 WHERE id IN(3,12,22)";
$query5 = "SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase4 WHERE id IN(3,12,22)";
$query6 = "SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase5 WHERE id IN(3,12,22)";
$query7 = "SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase6 WHERE id IN(3,12,22)";
$query8 = "SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase7 WHERE id IN(3,12,22)";
$query9 = "SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase8 WHERE id IN(3,12,22)";
$query10 = "SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase9 WHERE id IN(3,12,22)";
$query11 = "SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase10 WHERE id IN(3,12,22)";
$query12 = "SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase11 WHERE id IN(3,12,22)";
$query13 = "SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase12 WHERE id IN(3,12,22)";我想将这些查询结果合并到一个查询中。我尝试过在phase1,phase2 e.t,c之间使用一个简单的逗号分隔,但是我被抛出一个不明确的列错误。我知道这是因为我没有补充
phase1.fen_toit或
phase1.tuiles等等,选择,因为这似乎是荒谬的长!
如果有人能帮忙,我会非常感激的。我敢肯定答案就在我眼前!
发布于 2015-02-06 01:21:47
使用UNION或UNION ALL连接查询,如下所示:
$query2 = "SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase1 WHERE id IN(3,12,22)
UNION ALL
SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase2 WHERE id IN(3,12,22)
UNION ALL
SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase3 WHERE id IN(3,12,22)
UNION ALL
SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase4 WHERE id IN(3,12,22)
UNION ALL
SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase5 WHERE id IN(3,12,22)
UNION ALL
SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase6 WHERE id IN(3,12,22)
UNION ALL
SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase7 WHERE id IN(3,12,22)
UNION ALL
SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase8 WHERE id IN(3,12,22)
UNION ALL
SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase9 WHERE id IN(3,12,22)
UNION ALL
SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase10 WHERE id IN(3,12,22)
UNION ALL
SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase11 WHERE id IN(3,12,22)
UNION ALL
SELECT fen_toit,tuiles,zinc,bois,bac_acier FROM phase12 WHERE id IN(3,12,22)";https://stackoverflow.com/questions/28356503
复制相似问题