1
votes

table de jointure pour chaque variable

disons que j'ai 2 tables:

table 1:

1      Micheal     Rack, Desk
2      Edward      Lamp
3      Nord        Table

Table 2

1      Micheal     Rack
2.     Micheal     Desk
3      Edward      Lamp
4      Nord        Table

avec standard jointure, le résultat de la requête peut renvoyer

PurchaseID      PurchaseItem.      PersonID
1               Rack               1
2               Desk               1
3.              Lamp               2
4.              Table              3

mais j'ai besoin que le résultat soit affiché comme suit:

PersonID      PersonName
1             Micheal
2             Edward
3.            Nord
4.            Stephanie


0 commentaires

3 Réponses :


-1
votes

Vous pouvez essayer quelque chose comme ceci:

Select t1.personid, t1.personname, group_concat(t2.purchase_item) 
from table1 t1 join table2 t2
on t1.personId = t2.personId
 group by personID;


1 commentaires

Si vous trouvez cette réponse utile, veuillez la marquer comme réponse. Pour le marquer comme réponse, vous pouvez simplement cliquer sur le symbole correct, puis il deviendra vert une fois que vous aurez cliqué dessus. Merci



0
votes
select t1.personid, t1.personname,
       group_concat(t2.PurchaseItem)
from t1
join t2 on t1.personid = t2.personid
group by t1.personid, t1.personname

0 commentaires

0
votes

Vous pouvez regrouper par PersonName et utiliser group_concat pour concaténer les PurchaseItem s:

SELECT   t1.PersonId, PersonName, GROUP_CONCAT(PurchaseItem, ', ')
FROM     t1
JOIN     t2 ON t1.PersonId = t2.PersonId
GROUP BY t1.PersonId, PersonName

p >


4 commentaires

salut en fait, ce n'est pas seulement un article d'achat qui doit être montré.


@FaizalNor, veuillez donc modifier votre question avec le résultat réel que vous souhaitez obtenir


disons que si la ligne est retournée seulement 1, la virgule est toujours là


@FaizalNor group_concat n'ajoutera pas le séparateur ( ',' dans ce cas) s'il n'y a que valeur.