你好,我有一个表tbl_relations
,它看起来像MySQL的加入为一个表的两列
-----------------------------------
| 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
who记录source_id
或target_id
不存在于tbl_looksup
。这意味着tbl_looksup
中不存在id
。更详细地说,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
+1看你的速度,你应该禁止前五分钟回答任何问题。 :D – hims056 2013-03-13 06:46:34
@ hims056不! 'O_o'请不要':D' hehe – 2013-03-13 06:47:53
@JW。它很出色。谢谢兄弟 – 2013-03-13 07:01:01