Bonjour J'ai une table tbl_relations
qui ressemble àmysql joindre deux colonnes d'une table
-----------------------------------
| id | source_id | target_id |
-----------------------------------
| 2 | 2 | 4 |
-----------------------------------
| 3 | 5 | 7 |
-----------------------------------
| 4 | 7 | 4 |
-----------------------------------
Et autre table tbl_looksup
qui ressemble à
------------------------------
| 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
est mis en correspondance avec tbl_looksup
de telle manière que tbl_relations.source_id
et tbl_relations.target_id
est le id of tbl_looksup
Mon problème J'ai besoin de trouver ces enregistrements dans tbl_relations
whoes source_id
ou target_id
n'est pas présent dans tbl_looksup
. Cela signifie qu'il n'y a pas id
existe dans tbl_looksup
. Dans plus de détails le premier enregistrement de tbl_relations a target_id = 4
qui n'existe pas dans tbl_looksup
. C'est un enregistrement défectueux. J'ai besoin de trouver ces enregistrements.
Ce que je l'ai fait jusqu'à présent
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 En regardant votre vitesse, vous devriez être banni pendant cinq premières minutes pour répondre à toute question. : D – hims056
@ hims056 Non! 'O_o' S'il vous plaît ne pas': D' hehe –
@JW. C'est exceptionnel. Merci mec –