Php 左外连接查询中的简单逻辑
我有两张表tblSiteVisits和tblConformedList以及Colums,如下所示 tblsitevisions Name | EmailAddress 姓名|电子邮件地址 tblConformedList Name | EmailAddress | ContactNo | Location | Conform_Status 姓名|电子邮件地址|联系人编号|位置|符合|状态 第一个表包含所有站点访问用户的姓名和电子邮件地址 现在,在第二个表中,Conform_状态将根据站点访问时的客户端可用性设置为1或0 如果没有,我将填写ContactNo和Location,并用Conform_Status=0更新表格 现在我想要的是,通过关联join中的EmailAddress和ConformedList中Conform状态为0的行,从表TBLSiteVisites和tblConformedList中获取人员的姓名和电子邮件地址 这是已提供ContactNo和更新位置但未提供Conform_状态的人员列表Php 左外连接查询中的简单逻辑,php,mysql,database,Php,Mysql,Database,我有两张表tblSiteVisits和tblConformedList以及Colums,如下所示 tblsitevisions Name | EmailAddress 姓名|电子邮件地址 tblConformedList Name | EmailAddress | ContactNo | Location | Conform_Status 姓名|电子邮件地址|联系人编号|位置|符合|状态 第一个表包含所有站点访问用户的姓名和电子邮件地址 现在,在第二个表中,Co
提前感谢可能会对您有所帮助
select t1.* from tblSiteVisits t1 inner join tblConformedList t2 on
t1.EmailAddress=t2.EmailAddress where t2.Conform_Status=0
请尝试并分享您的反馈。抱歉,如果您只需要符合
状态为0的行,您不需要左连接
,您需要内部连接
SELECT v.*
FROM tblSiteVisits v
JOIN tblConformedList c
ON v.EmailAddress = c.EmailAddress
WHERE c.Conform_Status=0
因为c.Conform\u Status=0
将过滤掉它不是0的所有行,包括空的行,所以tblsitevists
中在tblConformedList
中没有对应行的行将被过滤掉-因此只需使用内部联接即可
SELECT v.*
FROM tblSiteVisits v
JOIN tblConformedList c
ON v.EmailAddress = c.EmailAddress
WHERE c.Conform_Status=0
如果希望所有行都有一个条目,则可以左join,将where子句放在on子句中,或在where子句中添加或Conform\u Status为NULL
SELECT v.*
FROM tblSiteVisits v
LEFT JOIN tblConformedList c
ON v.EmailAddress = c.EmailAddress
AND c.Conform_Status=0
这将显示tblsitevisions
中的每一行,如果可能,还将显示tblConformedList
的数据,但仅当符合状态实际为0时 非常感谢您的回复。上面的查询不起作用,我不知道为什么我尝试了,也就是说,我发布的这个内部连接不起作用,因为tblConformedList最初是空的。一旦通过电话确认现场访问符合Conform_状态1或0,行将插入tblConformedList。如果最初tblConformedList为空,conformed=0的左连接也将不起作用,因为在没有行的情况下conformed不能为0。您希望在ON中显示conformed=0
,或者conformed=0或conformed为空
。我编辑了我的答案:第二个查询确实应该是左连接。