J'ai trois tables.Mysql Multiple Concat Inner Join, ne donner qu'un seul nom
table1 = anlass table2 = stammdaten_beziehungen table3 = parameter_zuweisungen_anl
Il me gaves cette erreur: plus de sous-requête renvoie 1 rang
Mais ce que je dois, est Virgule tous « BeziehKuBez » dans une colonne séparée.
par ex. Beziehname1, Beziehname2, ...
Si vous l'avez testé avec, CONCAT_WS(',', BeziehKuBez)
. Mais donne-moi le même. Pourrais-je faire cela avec une boucle while? Mais je ne sais pas comment ?!
Mise à jour: En ce qui concerne Greg's answer:
GROUP_CONCAT()
donne-il même résultat que concat()
.
Un seul nom par "Anlass". Mais j'ai besoin, plusieurs noms séparés par des virgules pour un "Anlass".
TABLEAU STRUCTURE:
Tableau Anlass:
AnlID, anlass_name
Tableau Stammdaten_beziehungen
BeziehID, Beziehkubez
Tableau Parameter_zuweisung_anl
ZuwAnlID, ZuwAnlAnlNr, ZuwAnlBeziehID
INFO ZuwAnlAnlNr lié à Anlass.AnlID ZuwAnlBeziehID liés à Beziehung.BeziehID
Voici ma requête:
SELECT CONCAT(`BeziehKuBez`) AS Bezname
FROM `stammdaten_beziehungen` AS Beziehung, `anlass` AS anlass
INNER JOIN `parameter_zuweisungen_anl`
ON Beziehung.BeziehID = parameter_zuweisungen_anl.ZuwAnlBeziehID
WHERE ZuwAnlAnlNr = Anlass.AnlID
Son la sortie même, un seul nom dans une rangée. J'ai une table "parameter_zuweisung_anl" avec les ID de "anlass" et "Beziehung". "Beziehung" a une colonne avec un nom. Ce nom doit être lié à "Anlass". – Mahoni
avez-vous GROUP BY Anlass.AnlID? – Greg
salut, merci pour votre temps passé;) ce n'était pas "WHERE ZuwAnlID = Anlass.AnlID" je les ai corrigés. C'est le bon "WHERE ZuwAnlAnlNr = Anlass.AnlID". Pourtant, mysql m'a donné une Erreur comme: Sous-requête renvoie plus de 1 ligne.Mhmm, ALL ou ANY Ne travaillez pas?! – Mahoni