PHP MYSQL SELECT 即使有些是空的
Posted
技术标签:
【中文标题】PHP MYSQL SELECT 即使有些是空的【英文标题】:PHP MYSQL SELECT even if some are empty 【发布时间】:2011-09-06 23:01:17 【问题描述】:我对SQL不太熟悉,但需要从3个表中选择。
我可以走了:
SELECT * FROM tbl1, tbl2, tbl3 WHERE ID=3
但是 tbl3 有可能没有有任何 ID 为 3 的行,并且可能 tbl1 有一些。
tbl2 应该只有一行。
我仍然想获取其他表中的行。
我怎样才能做到这一点?
先谢谢了!
【问题讨论】:
表结构是什么?表之间有什么关系吗? 【参考方案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;
【讨论】:
好吧,所有三个表都有一个名为 b_ID 的行,例如 table1 可能有 0 个或多个 b_ID=3 的实例,而 table3 可能根本没有。从我在这里读到的:w3schools.com/sql/sql_join_left.asp 这就是答案,谢谢【参考方案2】:对每个表进行单独查询,然后对这些查询进行行计数,然后计算结果 你可以做 if elseif else 语句来做你想做的事情。
【讨论】:
以上是关于PHP MYSQL SELECT 即使有些是空的的主要内容,如果未能解决你的问题,请参考以下文章
php` $ _SERVER ['PHP_SELF']`是空的
即使设置了项目,调用时反应 useState 项目似乎是空的