php/mysql查询和的使用

btxsgosb  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(354)

我有一个很好的查询,但它限制性太强:

SELECT sr.AssignedTech
     , i.image 
  FROM ScheduleRequest sr
     , images i
 WHERE JobStatus != 0 
   AND ScheduleDateExact IS NOT NULL 
   AND ID IS NOT NULL 
   AND RecordType != 2 
   AND JobStatus != 1 
   AND sr.AssignedTech = i.empno

如果schedulerequest.assignedtech=images.empno之间不匹配,则不选择该记录。
即使不满足此特定条件,如何显示记录?我试着把它改成或,但没用。

vddsk6oq

vddsk6oq1#

您可以使用外部联接来获取数据,而不是使用内部联接。如果需要从左表中获取整个数据,并且只从右表中获取满足条件的行,则可以使用left outer join。反之亦然,从右外连接。如果需要两个表中的所有内容,可以使用完全外部联接。希望这些信息有用。:)

ippsafx7

ippsafx72#

您可以使用左联接来获取所有已分配的技术记录,包括它们的映像(如果它们有一个):

SELECT sr.AssignedTech
     , i.image 
  FROM ScheduleRequest sr
LEFT JOIN images i on (sr.AssignedTech = i.empno)
 WHERE JobStatus != 0 
   AND ScheduleDateExact IS NOT NULL 
   AND ID IS NOT NULL 
   AND RecordType != 2 
   AND JobStatus != 1

相关问题