两个表MySql

时间:2016-05-27 14:39:47

标签: mysql

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

在输出中使用此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_1中提取tbl_2 所有不存在的记录,我尝试过这个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 ;

你能帮我解决一下这个问题吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

tbl_1 i中选择i。* 在哪里i.xType('A')和 月(i.xDate)在1和4之间 i.xCode_cabina不存在(从tbl_2 o中选择o.xCode,其中o.xElement为null);

答案 1 :(得分:0)

你想做这样的事吗?

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

来源:Mysql: Select rows from a table that are not in another