J'ai deux tables comme suit: 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: p> sans créer de nouvelle table (en utilisant simplement la nidification d'expressions ou de relations dérivées)? p> une jointure sur l'actif donnerait quelque chose comme : p> Je suppose que j'ai besoin d'une forme de concaténation ?? p> p>
4 Réponses :
Vous voulez union tout: p>
(SELECT * à partir de tablea) Union tout (SELECT * TABLE) P>
Je pense que ces parenthèses sont correctes. Je me souviens que mysql était difficile à ce sujet. p>
Les parenthèses ne doivent pas être nécessaires, au moins, SPEC ne l'exige pas, je crois
select 'Student', table_a.* from table_a where actid = 17 union all select 'Faculty', table_b.* from table_b where actid = 17
J'ai dû envelopper chaque sélection () pour que mysql soit heureux.
Vous pouvez concaténer ces deux tables en utilisant SELECT CODE>,
à partir de code> et
où code>. p>
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.
c'est trop facile
Sélectionnez Tablea.Stuid, Tablea.acid, TableB.Facid, Tableb.Acted Code>
du tablier, tableb
où tablea.acid = tableb.acid; ` p>
Joindre est des colonnes concaténantes, cette question concernait des lignes concaténantes
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).