Rumah > Soal Jawab > teks badan
Pertama sekali, saya tidak dapat mencari nama yang sesuai untuk soalan itu, jika ada yang dapat mencari nama yang lebih baik, saya akan sangat berterima kasih jika mereka mengeditnya. Saya baru menggunakan SQL dan saya mempunyai soalan berikut: Saya mempunyai dua jadual seperti berikut
Ahli -> Nama, UID (kunci utama), SupervisorUID. Tempat Kerja -> WP_UID (kunci utama), Nama, SupervisorUID.
Saya perlu membuat pertanyaan yang mengembalikan nama ahli yang bekerja di WorkPlace 'X' dan nama atasan mereka.
Saya cuba menggunakan inner join tetapi saya tidak dapat mencapai hasil yang saya inginkan. Soalan utama ialah, bagaimana saya boleh memilih mengikut nama WorkPlace dan mendapatkan nama ahli dan nama atasan.
Penyelia juga ahli, jadi WorkPlace.SupervisorUID harus sepadan dengan Ahli.UID
SELECT Member.Name, Y INNER JOIN WorkPlace on WorkPlace.SupervisorUID = Member.UID WHERE WorkPlace.Name = 'France'
Saya perlu mencari apa yang perlu diletakkan pada Y.
Saya perlu mencari cara untuk mencari uid yang sepadan dengan uid penyelia itu dan mendapatkan nama dengan mendapatkan uid dari tempat kerja dan kemudian pergi ke meja ahli.
Member Jeremy 123 421 Jack 421 421
WorkPlace 1 France 421
Saya nak kembalikan borang berikut,
Jeremy Jack
P粉0716263642023-09-11 10:50:30
Saya rasa anda perlu Member
中添加WP_UID
作为一列。我不确定mysql
的语法是否相同,但是如果你在Member
中添加WP_UID
, kod berikut akan berfungsi dalam MS SQL Server:
SELECT M1.Name, M2.Name FROM Member AS M1 INNER JOIN WorkPlace AS WP on WP.WP_UID = M1.WP_UID INNER JOIN Member AS M2 on M2.UID = M1.SupervisorUID WHERE WP.Name = 'France' AND M1.UID <> M1.SupervisorUID
Saya tambah M1.UID<>M1.SupervisorUID
supaya penyelia tidak ditunjukkan.
Anda juga boleh bermula dari Member
中删除SupervisorUID
dan gunakan kod berikut:
SELECT M1.Name, M2.Name FROM Member AS M1 INNER JOIN WorkPlace AS WP on WP.WP_UID = M1.WP_UID INNER JOIN Member AS M2 on M2.UID = WP.SupervisorUID WHERE WP.Name = 'France' AND M1.UID <> WP.SupervisorUID