Salut je dois obtenir des données à partir d'une base de données, mais je ne peux pas comprendre comment ne le faire comme il est ...MYSQL Rejoignez 2 tables avec 2 relations Table
Ils ont des « boutiques » et des tables « boutiques_categories » et une table de relation entre les nommer « boutiques_categories_categories »
ici comment ils sont configurés:
boutiques
id name
1 X_boutiques2_name
2 Y_boutiques_name
Boutique2
id name
1 X_boutiques2_name
2 Y_boutiques2_name
boutiques_categories
id name
1 X_categorie_name
2 Y_categorie_name
boutiques_categories_categories
boutique_id categorie_id
X_boutique_id X_categorie_id
Y_boutique_id Y_categorie_id
Je veux créer un SQL pour fusionner et imprimer un fichier CSV des données comme ceci:
export
boutiques_id boutique_name boutiques_categories_categorie_name
boutiques2_id boutique2_name boutiques_categories_categorie_name
J'essaie UNION les 2 Table
SELECT A.*
FROM boutiques A
UNION select B.* FROM boutiques2 B
Et cela fonctionne, mais maintenant je dois être inscrit le nom de catégorie à elle et je ne peux pas comprendre comment le faire. Essayé:
SELECT A.*
FROM boutiques A
UNION select B.*
FROM boutiques2 B
left join
boutiques_categories BC ON BC.id =
(
SELECT BCC.categorie_id
FORM
boutiques_categories_categories BCC
WHERE BCC.boutique_id = BC.id
)
Mais j'obtiens l'erreur MYSQL que je ne peux pas résoudre.
#1242 - Subquery returns more than 1 row
Merci pour votre temps.
Vous n'avez pas besoin d'utiliser 'union'. Cela est utilisé pour renvoyer plusieurs instructions select en tant que résultat unique. La syntaxe 'join' est tout ce dont vous avez besoin. – RToyo
Mais j'ai besoin d'avoir plusieurs instructions select car j'ai besoin de sélectionner les données dans les boutiques et boutique2 puis d'ajouter le nom de la catégorie aux données de la boutique. –
Désolé, j'étais sur le point d'éditer mon commentaire après avoir relu votre question. Vous avez raison au sujet du syndicat. Je rédigerai une requête sous peu, si personne d'autre ne répond entre-temps. – RToyo