J'ai une table appelée product
qui permet de dire ressemble à ceci:INNER JOIN mysql d'une table à une autre où la base de multiples de même id
produit
product_id | cults_id1 | cults_id2 | cults_id3
-----------------------------------------------------
1 | 5 | 4 | 2
Et aussi thats table basée sur cette appelé cultivar
:
cultivar
cults_id | cults_name |
-------------------------
1 | berries |
2 | fruit |
3 | choc |
4 | wood |
5 | mysql! |
Comment puis-je créer une requête JOIN pour obtenir chaque nom de cultivar
table où l'ID de produit dans tableau produit est le même que cults_id dans le tableau cultivar
?
SORTIE
Mon Cults produit
berries, Mysql!, wood, fruit
ne pensent pas un INNER JOIN est le chemin à parcourir, mais j'aurais essayé quelque chose comme ceci:
$query = "SELECT cultivars.cults_name
FROM product
INNER JOIN wine_cultivar ON wine_cultivar.cults_id = product.cultivar_1_id
INNER JOIN wine_cultivar ON wine_cultivar.cults_id = product.cultivar_2_id
INNER JOIN wine_cultivar ON wine_cultivar.cults_id = product.cultivar_3_id
INNER JOIN wine_cultivar ON wine_cultivar.cults_id = product.cultivar_4_id
";
i essayé une jointure interne plusieurs fois ciblant tous les identifiants mais ne pensez pas que c'est la voie à suivre. Aussi c'est juste une partie de ma requête sql.
SQL Server ou MySQL, lequel? – Sami
S'il vous plaît modifier votre question et montrez-nous votre résultat attendu. –
Pensez vraiment à normaliser votre table 'product' avec le champ ** one ** * cultivar_id * où * product_id * sera répété pour différents * cultivar_ids * dans une relation un-à-plusieurs. Cela évite les requêtes complexes avec plusieurs auto-jointures. – Parfait