你好,我有一张桌子tbl_relations
,看起来像
-----------------------------------
| id | source_id | target_id |
-----------------------------------
| 2 | 2 | 4 |
-----------------------------------
| 3 | 5 | 7 |
-----------------------------------
| 4 | 7 | 4 |
-----------------------------------
tbl_looksup
和其他看起来像的桌子
------------------------------
| id | language | value |
------------------------------
| 1 | 1 | abc |
------------------------------
| 1 | 2 | abc |
------------------------------
| 2 | 1 | abc |
-------------------------------
| 2 | 2 | abc |
-------------------------------
| 5 | 1 | abc |
-------------------------------
| 5 | 2 | abc |
-------------------------------
| 7 | 1 | abc |
-------------------------------
| 7 | 1 | abc |
-------------------------------
tbl_relations
tbl_looksup
以这样的方式映射到tbl_relations.source_id
并且tbl_relations.target_id
是id of tbl_looksup
我的问题
我需要找出那些记录在tbl_relations
whoessource_id
或target_id
不存在于tbl_looksup
. 这意味着 中不id
存在tbl_looksup
。更详细地说, tbl_relations 的第一条记录target_id = 4
在tbl_looksup
. 这是错误的记录。我需要找出这些记录。
到目前为止我做了什么
SELECT
tbl_relations.source_id,
tbl_relations.target_id,
tbl_relations.id,
tbl_looksup.`id` AS tblid
FROM
tbl_relations
LEFT JOIN tbl_looksup
ON tbl_relations.`source_id` != tbl_looksup.`id`
OR tbl_relations.`target_id` != tbl_looksup.`id`
GROUP BY tbl_relations.id