我不太熟悉SQL,但我需要从3个表中选择。PHP MYSQL SELECT即使有些是空的
我可以去:
SELECT * FROM TBL1,TBL2,TBL3 WHERE ID = 3
但有一个机会,TBL3是不不有任何行ID为3 ,而且有可能是tbl1有一些。
tbl2应该只有一行。
我仍然想获得其他表中的行。
我该如何做到这一点?
非常感谢!
我不太熟悉SQL,但我需要从3个表中选择。PHP MYSQL SELECT即使有些是空的
我可以去:
SELECT * FROM TBL1,TBL2,TBL3 WHERE ID = 3
但有一个机会,TBL3是不不有任何行ID为3 ,而且有可能是tbl1有一些。
tbl2应该只有一行。
我仍然想获得其他表中的行。
我该如何做到这一点?
非常感谢!
这三个表格有什么关系?条件'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;
好吧,所有这三个表都有一个名为b_ID的行,table1可能有0个或多个b_ID = 3的实例,而table3可能根本没有。从我在这里读到的:http://www.w3schools.com/sql/sql_join_left.asp这是答案,谢谢 – Ted
对每个表执行单独查询,然后对这些查询进行一次计数,然后用结果
如果elseif else语句要做wat你可以做。
有什么表结构?表格之间有任何关系吗? – 2011-09-06 23:12:52