Vous pouvez le faire, mais cela n'aura pas beaucoup de sens.
Votre requête SQL renvoie une table à deux dimensions avec les mêmes colonnes pour chaque ligne. Si certaines de vos rangées sont des étudiants et que certaines d'entre elles sont des facultés, alors il y aura un tas de colonnes qui ont du sens pour les étudiants, mais qui n'ont aucun sens pour les facultés.
Le SQL pour le faire pour deux tables est:
SELECT t_F.college_id AS college_id, t_F.f_1, t_F.f_2, NULL , NULL
FROM tbl_Faculty AS t_F
UNION
SELECT t_S.college_id AS college_id, NULL , NULL , t_S.s_1, t_S.s_2
FROM tbl_Student AS t_S
ORDER BY college_id
Alors vos résultats ressemblera:
college| Faculty field 1 | 2 | Student field 1 | 2
--------------------------------------------------------------
1 | abc | def | NULL | NULL
1 | abc | ghi | NULL | NULL
1 | NULL | NULL| asdoifjas | aosdifjasdf
1 | NULL | NULL| asdoifjas | aosdifjasdf
2 | abc321 | aaa | NULL | NULL
2 | abc456 | bbb | NULL | NULL
2 | NULL | NULL| afasdfafs | aosdifjasdf
2 | NULL | NULL| asdoifjas | aoffavsdfff
Cela ne fait pas beaucoup de sens pour moi.
Avant de faire cela, vous voulez penser aux cardinalités, cependant. Si ce n'est pas 1: 1: 1, vous vous retrouverez avec plus d'une ligne par identifiant (ou ID manquants). – Thilo
En particulier, il semble que vous obteniez toutes les «sections» et toutes les «facultés» dans tout le collège pour chaque «étudiant» de ce collège, ce qui n'est probablement pas ce que vous voulez. – Thilo
vous pouvez utiliser les jointures GAUCHE ou OUTER si vous voulez tenir compte des instances où toutes les tables n'ont pas de données pour l'étudiant ... – Damovisa