Bagaimana untuk memilih, memadankan dan mengembalikan nilai dalam pertanyaan mysql?
P粉986028039
P粉986028039 2024-04-02 17:18:57
0
1
409

Saya mempunyai dua meja, meja perpindahan dan meja kelab.

Ini adalah pemindahan meja:

id Nama Nama keluarga Dari kelab Pergi ke kelab Harga mengikut nombor belakang Nombor pemulangan
0 Contoh 1 Contoh 2 EX3 EX4 Contoh 5 Contoh 6 Contoh 7

Ini ialah kelab meja:

id Singkatan Nama penuh
0 EX3 Contoh 3
1 EX4 Contoh 4

Saya ingin mengambil satu baris dari jadual perpindahan, mendapatkan fromclub, memadankannya dengan singkatan dalam Clubs, mendapatkan nama penuh dari baris, dan menambahnya pada respons. Saya mahu melakukan perkara yang sama dengan lajur toclub. Kemudian saya mahu mengulanginya untuk setiap baris lain dalam pemindahan jadual.

Untuk memastikan perkara mudah, inilah hasil jangkaan saya:

id Nama Nama keluarga Dari kelab Pergi ke kelab Harga mengikut nombor belakang Nombor pemulangan Daripada nama penuh kelab nama penuh toclub
0 Contoh 1 Contoh 2 EX3 EX4 Contoh 5 Contoh 6 Contoh 7 Contoh 3 Contoh 4

Saya nampaknya tidak dapat mencari cara untuk membina pertanyaan yang melakukan ini tanpa mendapat sekitar 512 baris hasil, walaupun saya pada masa ini hanya mempunyai 8 baris hasil.

SELECT *
FROM transfers,
(SELECT clubs.fullname FROM transfers, clubs WHERE clubs.abbr = transfers.fromclub) AS fromclubfullname,
(SELECT clubs.fullname FROM transfers, clubs WHERE clubs.abbr = transfers.toclub) AS toclubfullname

Ia mengembalikan 512 baris dan dua lajur (dipanggil nama penuh) dan bukannya satu lajur dari nama penuh kelab dan nama penuh kelab.

P粉986028039
P粉986028039

membalas semua(1)
P粉827121558

Anda boleh melakukan ini melalui 左连接 -

SELECT 
     transfers.*,
     c1.fullname as fromclubfullname,
     c2.fullname as toclubfullname FROM `transfers`
LEFT JOIN clubs c1 ON (c1.abbr = transfers.fromclub)
LEFT JOIN clubs c2 ON (c2.abbr = transfers.toclub)
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!