Rumah > Soal Jawab > teks badan
Saya mempunyai eg_design
jadual dengan lajur berikut:
dan eg_domains
jadual dengan lajur berikut:
dan eg_fonts
jadual dengan lajur berikut:
Sekarang, berdasarkan $domain_id Saya mahu mendapatkan semua data dalam jadual eg_design
表中的所有数据、eg_domains
表中的一些数据以及 eg_fonts
表中的 font_name 列值但是在eg_design
, beberapa data dalam jadual dan nilai lajur font_name dalam jadual
dalam jadual eg_fonts
表中为我提供 2 个 font_name,就像在 eg_design
font, saya ada
dan
domain_fontTerdapat 2 ID fon hadir pada lajur.
Jadi pertanyaan di bawah sepatutnya memberi saya 2 font_name daripada jadual , sama seperti dalam jadual , saya mempunyai 2 ID fon.
$get_domain = mysqli_query( $mysqli, "SELECT edg.*, ed.domain_name, egf.*
FROM eg_design AS edg
LEFT JOIN eg_domains AS ed ON edg.domain_id = ed.domain_id
LEFT JOIN eg_fonts AS egf ON egf.font_id = edg.design_font AND egf.font_id = edg.domain_font
WHERE edg.domain_id = '$domain_id' ");
Tetapi saya fikir untuk baris ini
egf.font_id = edg.design_font AND egf.font_id = edg.domain_font
Pertanyaan di atas tidak berfungsi.
Maksud saya saya boleh mendapatkan semua data tetapi bukan nilai lajur font_name. Ia hanya mengembalikan nilai lajur
design_font🎜, bukan nilai lajur 🎜domain_font🎜. 🎜 🎜Bolehkah anda membantu saya menyelesaikan masalah ini? 🎜 🎜🎜Ini biolanya: 🎜 https://www.db-fiddle.com/f/mNscdKDNohpT3xidp3C9Mw/0🎜P粉0984172232024-04-07 15:42:37
Lihat jawapan yang dikemas kini
https://www.db-fiddle.com/f/mNscdKDNohpT3xidp3C9Mw/5
SELECT edg.*, ed.domain_name, egf.font_name FROM eg_design edg LEFT JOIN eg_domains ed ON edg.domain_id = ed.domain_id LEFT JOIN eg_fonts egf ON egf.font_title = edg.design_font WHERE edg.domain_id = 1
P粉1166544952024-04-07 09:36:40
Pada asasnya, anda baru sahaja meninggalkan sertai meja yang sama eg_fonts
dua kali.
Lihat dbfiddle. Anda boleh mencuba pertanyaan berikut:
$get_domain = mysqli_query( $mysqli, "SELECT edg.*, ed.domain_name, egf.font_name AS design_font_name , egf2.font_name AS domain_font_name FROM eg_design AS edg LEFT JOIN eg_domains AS ed ON edg.domain_id = ed.domain_id LEFT JOIN eg_fonts AS egf ON egf.font_id = edg.design_font LEFT JOIN eg_fonts AS egf2 ON egf2.font_id = edg.domain_font WHERE edg.domain_id = '$domain_id' ");
Tukar ini:
LEFT JOIN eg_fonts AS egf ON egf.font_id = edg.design_font AND egf.font_id = edg.domain_font
Untuk ini:
LEFT JOIN eg_fonts AS egf ON egf.font_id = edg.design_font LEFT JOIN eg_fonts AS egf2 ON egf2.font_id = edg.domain_font