こんにちは、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_idtbl_relations.target_idid of tbl_looksup
私の問題tbl_relationswhoessource_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