你好,我有一個表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