PHP MYSQL SELECT即使有些是空的

时间:2011-09-06 23:01:18

标签: php mysql sql select

我对SQL不太熟悉,但我需要从3个表中进行选择。

我可以去:

  

SELECT * FROM tbl1,tbl2,tbl3 WHERE ID = 3

但是tbl3有可能有任何ID为3的行,并且有可能tbl1有几个。

tbl2应该只有一行。

我仍然希望获得其他表格中的行。

我该如何做到这一点?

提前感谢!

2 个答案:

答案 0 :(得分:1)

这三个表如何相关?条件'WHERE ID = 3'有点模棱两可 - 所有三个表中都存在ID,并且您希望每个表中ID = 3的所有记录?

底线是您需要使用LEFT JOIN将表连接在一起,但在不知道表格如何相关的情况下很难给出示例。

做出一些假设:

SELECT *
FROM tbl1
LEFT JOIN tbl2 ON tbl2.tbl1_id = tbl1.id
LEFT JOIN tbl3 ON tbl3.tbl1_id = tbl1.id
WHERE tbl1.id = 3;

答案 1 :(得分:0)

对每个表执行单独的查询,然后对这些查询进行行计数,然后使用结果
你可以做if elseif else语句来做你想做的事。