Ich habe eine eg_design
Tabelle mit den folgenden Spalten:
- und eg_domains
-Tabellen mit den folgenden Spalten:
- und eg_fonts
-Tabellen mit den folgenden Spalten:
Jetzt m?chte ich basierend auf $domain_id alle Daten in der eg_design
表中的所有數(shù)據(jù)、eg_domains
表中的一些數(shù)據(jù)以及 eg_fonts
表中的 font_name 列值但是在eg_design
-Tabelle, einige Daten in der -Tabelle und den font_name-Spaltenwert in der -Tabelle
in der eg_fonts
表中為我提供 2 個 font_name,就像在 eg_design
-Tabelle habe ich
und
domain_fontIn der Spalte sind zwei Schriftart-IDs vorhanden.
Die folgende Abfrage sollte mir also 2 Schriftartnamen aus der -Tabelle liefern, genau wie in der -Tabelle habe ich 2 Schriftart-IDs vorhanden.
$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' ");
Aber ich denke für diese Zeile
egf.font_id = edg.design_font AND egf.font_id = edg.domain_font
Die obige Abfrage funktioniert nicht.
Ich meine, ich kann alle Daten abrufen, aber nicht den Spaltenwert Schriftartname. Es wird nur der Spaltenwert
design_font?? zurückgegeben, nicht der Spaltenwert ??domain_font??. ?? ??K?nnen Sie mir helfen, dieses Problem zu l?sen? ?? ????Das ist die Geige: ?? https://www.db-fiddle.com/f/mNscdKDNohpT3xidp3C9Mw/0??查看更新的答案
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
基本上,您只需左連接同一個表 eg_fonts
兩次即可。
請參閱 dbfiddle 。您可以嘗試以下查詢:
$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' ");
更改此:
LEFT JOIN eg_fonts AS egf ON egf.font_id = edg.design_font AND egf.font_id = edg.domain_font
對此:
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