两个表上的 Sql 联接语法 MySql



我使用MySql的5.5.24-log版本作为RDBMS。

通过输出中的这个sql查询,我tbl_1tbl_2两个表上都有所有记录:

SELECT * FROM `tbl_1` CB
JOIN `tbl_2` A ON A.xCode = CB.xCode
AND RIGHT (A.xElement, 1) = CB.xElement
WHERE
    CB.xType IN ('A')
AND MONTH(xDate) BETWEEN 1 AND 4
ORDER BY xDate DESC;

现在我需要从tbl_2不存在的所有记录中提取tbl_1并且我已经尝试了此sql查询,但是我有错误

查询期间与 MySQL 服务器的连接丢失

SELECT i.* FROM
    `tbl_1` i
LEFT JOIN `tbl_2` o ON o.xCode = i.xCode_cabina
AND RIGHT (o.xElement, 1) = i.xElement
WHERE
    i.xType IN ('A')
AND MONTH(xDate) BETWEEN 1 AND 4
AND o.xElement IS NULL ;

你能帮我找出问题所在吗?

提前谢谢。

tbl_1 i 中选择 i.*其中 i.x输入('A')和月份(i.x日期) 1 和 4 和i.xCode_cabina不存在(从 o.xElement 为空的 tbl_2 o 中选择 o.xCode);

你想做这样的事情吗?

SELECT * FROM tbl_1 
WHERE xCode NOT IN (SELECT xCode FROM tbl_2)

来源:Mysql:从一个表中选择不在另一个表中的行

相关内容

最新更新