MySQL-Abfrage über mehrere Tabellen

Hallo,

ich möchte eine Abfrage über mehrere Tabellen machen, die verknüpft sind.
Irgendwie bekomme ich die Zuordnung von der Tabelle nicht hin.
Es soll aus s_order_shippingaddress.CountryID AS Kun_LAND mirt ausgegeben werden, aber das LEFT JOIN funktioniert nicht, ich bekomme als Ergebnis „NULL“.
 

SELECT `s_order`.`id` AS `orderID` , `s_order_documents`.`docID` AS `Rechnungsnummer` , FORMAT( `s_order`.`invoice_amount`, 2,'de_DE' ) AS `Rechnungsbetrag` , FORMAT( `s_order`.`invoice_amount_net`, 2,'de_DE' ) AS `Nettobetrag` , `s_order_documents`.`date` AS `Rechnungsdatum` , `s_order`.`taxfree` , `s_order`.`currency` ,`s_order_shippingaddress`.`CountryID` AS `Kun_LAND`
FROM `s_order_documents`
LEFT JOIN `s_order` ON ( `s_order_documents`.`orderID` = `s_order`.`id` )
LEFT JOIN `s_core_paymentmeans` ON ( `s_order`.`paymentID` = `s_core_paymentmeans`.`id` )
LEFT JOIN `s_order_shippingaddress` ON ( `s_order`.`id` = `s_order_shippingaddress`.`id` )
WHERE `date` BETWEEN '2020-01-01' AND '2020-12-31'

 

An Deinem Statement liegt’s aber nicht. Wenn ich das auf meinen Daten anwende, krieg ich eine prima Liste … 

Check mal Deine DB. Veraltet? Keine Daten von 2020 … ?

doch, ich bekomme ein Ergebnis, aber die Spalte CountryID ist leer, weil da nichts kommt.

Verstehe. Das wäre dann richtig:

SELECT `s_order`.`id` AS `orderID` , `s_order_documents`.`docID` AS `Rechnungsnummer` , FORMAT( `s_order`.`invoice_amount`, 2,'de_DE' ) AS `Rechnungsbetrag` , FORMAT( `s_order`.`invoice_amount_net`, 2,'de_DE' ) AS `Nettobetrag` , `s_order_documents`.`date` AS `Rechnungsdatum` , `s_order`.`taxfree` , `s_order`.`currency` ,`s_order_shippingaddress`.`CountryID` AS `Kun_LAND`
FROM `s_order_documents`
LEFT JOIN `s_order` ON ( `s_order_documents`.`orderID` = `s_order`.`id` )
LEFT JOIN `s_core_paymentmeans` ON ( `s_order`.`paymentID` = `s_core_paymentmeans`.`id` )
LEFT JOIN `s_order_shippingaddress` ON ( `s_order`.`id` = `s_order_shippingaddress`.`orderID` )
WHERE `date` BETWEEN '2020-01-01' AND '2020-12-31'

Du hattest id gewählt, muss aber orderID heißen.

 

 

Super, Danke das war der Fehler  Halo