Voici mon problème:
MySQL: une partie de la table-A se joindre à une partie de la table-B
Table A id_a | name --------------------- 1 | name-A 2 | name-B 3 | name-C 4 | name-D 5 | name-E 6 | spcial_type
Table B id_b | id_a | condition | subtype ------------------------------------------------- 1 | 2 | 1 | 1 2 | 1 | 0 | 1 3 | 1 | 1 | 2 4 | 2 | 0 | 1 5 | 4 | 0 | 1 6 | 5 | 1 | 1 7 | 2 | 1 | 3
Conditions:
Tableau A: « special_type » non inclus
Tableau A: lignes non présent dans le tableau B inclus
Tableau B: tout d'état = 0 non inclus
Result Table: id_r | id_a | id_b | name | condition ----------------------------------------------- 1 | 1 | 3 | name-A | 1 2 | 2 | 1 | name-B | 1 3 | 5 | 6 | name-E | 1 4 | 2 | 7 | name-B | 1 5 | 3 | null | name-C | null
table A.subtype est seulement aux. pour montrer que ID_A peut être stocké plusieurs fois avec condition = 1
Ce que j'ai essayé:
select x.id_a, x.name, z.id_b, z.id_a, z.condition from Table A LEFT JOIN Table z ON x. id_a = z. id_a
mais cela m'a fait articles avec état = 0, que je ne veux pas
donc j'ai essayé :
select x.id_a, x.name, z.id_b, z.id_a, z.condition from Table A LEFT JOIN Table z ON x. id_a = z. id_a where z.condition=1
mais cette idée exclut les éléments du tableau A non présents dans le tableau B, et je veux ces éléments. Est-ce que ça peut être à l'intérieur de MySQL, ou ai-je besoin d'un script? pour le trier?
Pensées quelqu'un?
Il est pas clair pour moi ce que votre résultat attendu est, et les requêtes ne sont pas cohérentes avec les tables décrites. –
Ils (q v. T) regardent OK pour moi .. et après le changement .. fonctionnent bien – Jeffz