こんにちは、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