Ekstrak data daripada jadual pertama, menggunakan data daripada jadual kedua
P粉885035114
P粉885035114 2023-09-10 12:00:30
0
1
471

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粉885035114
P粉885035114

membalas semua(1)
P粉071626364

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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan