8
votes

Mysql - concaténate deux tables

J'ai deux tables comme suit: xxx

Je veux énumérer le nom de tout le monde, les étudiants et les professeurs qui participent à l'activité 17. Y a-t-il de toute façon je peux obtenir un résultat Ci-dessous: xxx

sans créer de nouvelle table (en utilisant simplement la nidification d'expressions ou de relations dérivées)?

une jointure sur l'actif donnerait quelque chose comme : xxx

Je suppose que j'ai besoin d'une forme de concaténation ??


1 commentaires

Cette forme de concaténation s'appelle une union dans SQL et Thilo a la bonne réponse ci-dessous (vous devez accepter cette réponse afin que Thilo reçoit le crédit).


4 Réponses :


1
votes

Vous voulez union tout:

(SELECT * à partir de tablea) Union tout (SELECT * TABLE)

Je pense que ces parenthèses sont correctes. Je me souviens que mysql était difficile à ce sujet.


1 commentaires

Les parenthèses ne doivent pas être nécessaires, au moins, SPEC ne l'exige pas, je crois



22
votes
select 'Student', table_a.* from table_a where actid = 17
union all
select 'Faculty', table_b.* from table_b where actid = 17

1 commentaires

J'ai dû envelopper chaque sélection () pour que mysql soit heureux.



-6
votes

Vous pouvez concaténer ces deux tables en utilisant SELECT , à partir de et .


1 commentaires

S'il vous plaît soyez un peu plus précis. Sélectionnez de et où sont trop génériques pour être marqués comme une réponse utile.



-2
votes

c'est trop facile Sélectionnez Tablea.Stuid, Tablea.acid, TableB.Facid, Tableb.Acted du tablier, tableb où tablea.acid = tableb.acid; `


1 commentaires

Joindre est des colonnes concaténantes, cette question concernait des lignes concaténantes