[英]Where Clause Left Join in MySQL
Hello guys may I ask where I can put the where clause in a Left Join here on query 大家好,我可能会问我在哪里可以在查询中的左连接处放置where子句
SELECT en.`transid`, en.`transdate`,
CONCAT(userlist.lname, ', ', userlist.fname, ' ', userlist.mname) AS sender_name,
CONCAT(userlist1.lname, ', ', userlist1.`fname`, ' ', userlist1.`mname`) AS receiver_name,
en.`document_num`, doctype.`document_type`, vendor.`vendor_name`, acknowledge.`status`
FROM `tbl_encode_transmittal` en
LEFT JOIN `tbl_acknowledgetransmittal` acknowledge ON en.`transid` = acknowledge.`transid`
LEFT JOIN tbl_userlist userlist ON userlist.userid = en.sender_id
LEFT JOIN tbl_userlist userlist1 ON userlist1.userid = en.`receiver_id`
LEFT JOIN `tbl_doctype` doctype ON doctype.`doc_id` = en.`doctype_id`
LEFT JOIN tbl_vendor vendor ON vendor.`vendor_id` = en.vendor_id
This is the Where Clause that I will include in my query: 这是我将在查询中包括的Where子句:
WHERE userlist1.userid = 'admin'
You can put it at the end, like others said, or as an "AND" like this: 您可以像其他人所说的那样将其放在结尾,也可以将其作为“ AND”表示:
SELECT en.`transid`, en.`transdate`,
CONCAT(userlist.lname, ', ', userlist.fname, ' ', userlist.mname) AS sender_name,
CONCAT(userlist1.lname, ', ', userlist1.`fname`, ' ', userlist1.`mname`) AS receiver_name,
en.`document_num`, doctype.`document_type`, vendor.`vendor_name`, acknowledge.`status`
FROM `tbl_encode_transmittal` en
LEFT JOIN `tbl_acknowledgetransmittal` acknowledge ON en.`transid` = acknowledge.`transid`
LEFT JOIN tbl_userlist userlist ON userlist.userid = en.sender_id
LEFT JOIN tbl_userlist userlist1 ON userlist1.userid = en.`receiver_id` AND userlist1.userid = 'admin'
LEFT JOIN `tbl_doctype` doctype ON doctype.`doc_id` = en.`doctype_id`
LEFT JOIN tbl_vendor vendor ON vendor.`vendor_id` = en.vendor_id
It does not matter what join type you use, the where clause follows the from clause and the join conditions: 使用哪种连接类型都没有关系,where子句位于from子句和连接条件之后:
FROM `tbl_encode_transmittal` en
LEFT JOIN `tbl_acknowledgetransmittal` acknowledge ON en.`transid` = acknowledge.`transid`
LEFT JOIN tbl_userlist userlist ON userlist.userid = en.sender_id
LEFT JOIN tbl_userlist userlist1 ON userlist1.userid = en.`receiver_id`
LEFT JOIN `tbl_doctype` doctype ON doctype.`doc_id` = en.`doctype_id`
LEFT JOIN tbl_vendor 4vendor ON vendor.`vendor_id` = en.vendor_id
WHERE userlist1.userid = 'admin'
You put them after the FROM
and JOIN
clauses like normal. 您可以像平常一样将它们放在FROM
和JOIN
子句之后。
SELECT *
FROM table1 t1
JOIN table t2 ON t1.id = t2.fk
WHERE t1.whatever = "whatever"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.