Neu Lieferadresse + Bestelldaten exportieren

alex9019

Sehr aktives Mitglied
17. Mai 2018
325
47
Hallo,

ich versuche gerade anhand einer Importvorlage unseres Versanddienstleisters einen eigenen Export zu erstellen.

Die Importvorlage sieht wie folgt aus. Wichtig wären hierbei nur die ausgefüllten Zellen, die anderen können leer bleiben.

NameCompanyStreet 1Street 2CityStateZipCountryPhoneEmailOrder NumberCurrencyTotalItems CountContent DescriptionAmount paid for the shipmentCash on DeliveryParcelsWeightLengthWidthHeightNoteIs ReturnDateShipping Service
Max MustermannMusterstr. 1Musterort
123456​
DE
39321123112​
info@muster.com
123​
EUR
100​
1​
100​
0.00
1​

Ich habe versucht, dies anhand meiner bereits erstellten Exportvorlage für die Lieferadresse zu erstellen.
Ich komme aber bei dieser hier nicht wirklich weiter:

SELECT
tAdresse.cName + ' ' + tAdresse.cVorname AS 'Name',
tAdresse.cFirma AS 'Company',
tAdresse.cStrasse AS 'Address',
tAdresse.cAdressZusatz AS 'Address2',
tAdresse.cOrt AS 'City',
tAdresse.cBundesland AS 'State/Province',
tAdresse.cPLZ AS 'Zip Code',
tAdresse.cISO AS 'Country',
tAdresse.cTel AS 'Phone',
tAdresse.cMail AS 'Email',
tBestellung.cBestellNr AS 'Order Number',
tBestellung.cWaehrung AS 'Currency',
NULL AS 'Total',
NULL AS 'Items Count',
'Holz' AS 'Content Description',
NULL AS 'Amount paid for the shipment',
NULL AS 'Cash on Delivery',
1 AS 'Parcels', -- AS hinzugefügt
NULL AS 'Weight',
NULL AS 'Length',
NULL AS 'Width',
NULL AS 'Height',
tBestellung.kBestellHinweis AS 'Note', -- Spaltenname angepasst
NULL AS 'Is Return',
tBestellung.dErstellt AS 'Date',
NULL AS 'Shipping Service',
'1' AS 'Type (1 - Recipient, 0 - Sender)'
FROM tBestellung -- Haupttabelle auf tBestellung geändert
LEFT JOIN tAdresse ON tAdresse.kKunde = tBestellung.kKunde
WHERE tAdresse.nTyp = 0
OR (tAdresse.nTyp = 1 AND NOT EXISTS (
SELECT 1 FROM tAdresse AS SubAdresse
WHERE SubAdresse.kKunde = tBestellung.kKunde AND SubAdresse.nTyp = 0
));

Vielleicht kann mir jemand weiterhelfen.
 

John

Sehr aktives Mitglied
3. März 2012
3.131
698
Berlin
Ich denke, der Ansatz ist falsch.

Code:
LEFT JOIN tAdresse ON tAdresse.kKunde = tBestellung.kKunde
WHERE tAdresse.nTyp = 0
OR (tAdresse.nTyp = 1 AND NOT EXISTS (
SELECT 1 FROM tAdresse AS SubAdresse
WHERE SubAdresse.kKunde = tBestellung.kKunde AND SubAdresse.nTyp = 0

das liefert dir eine Kundenadresse aus den Stammdaten des Kunden.
Das muß aber mitnichten die Lieferanschrift eines Auftrags sein.
Ich kann im Auftrag beliebig in der Anschrift umher editieren, ohne das diese Änderunge in die Stammdaten zurück gingen.

Schau Dir mal [Verkauf].[tAuftragAdresse] für Aufträge und [Rechnung].[tRechnungAdresse] für Rechnungen an.
 

Ähnliche Themen