SQL Abfrage von PLZ

adaptare01

Aktives Mitglied
24. Februar 2016
21
0
Hallo,

wir haben viele Warensendungen zu versenden und arbeiten daher mit der MailAlliance und zusaetzlich noch der Deutschen Post.

Ich habe eine PLZ Tabelle in die Datenbank importiert, die eigentlich nur eine Spalte PLZ und eine andere mit zwei Zahlen enthält welche die PartnerNummer der MailAlliance ist.
Nun muss ich halt eine Abfrage machen in der ich Abfrage, dass wenn es diese PLZ in der importierten Tabelle gibt,er mir die Partnernummer zurückgibt.

Habe leider wenig SQL Erfahrung, muss es aber ja so direkt in der Datenbank lösen.

Mein Ansatz zur Zeit:

JTL_DirectQuery ("SELECT citipostPLZ.Partnernummer FROM citipostPLZ WHERE citipostPLZ.PLZ='Vorgang.Auftrag.Lieferadresse.PLZ'")

Die Tabelle ist citipostPLZ mit den zwei Spalten PLZ und Partnernummer. Es sind also nur die PLZ enthalten, welche von der MailAlliance bedient werden können.

Alles andere muss dann mir der Deutschen Post raus :)

Stenigt mich nicht......
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
402
AW: SQL Abfrage von PLZ

Und, hast Du auch ein Problem oder eine Frage an uns oder wolltest Du uns nur Deinen Ansatz vorstellen... ;)
 

adaptare01

Aktives Mitglied
24. Februar 2016
21
0
AW: SQL Abfrage von PLZ

Hallo gutberle,

ja die Frage ist in der Verzweifelung dort geblieben wo sie herumgeistert.

Mein Ansatz funktioniert überhaupt nicht. Es sollte ja eigentlich eine Kleinigkeit sein, aber wenn man seit Tagen des Lesens und Rumprobierens nicht weiter kommt......

Frage:
Kann mir einer, gerne auch an einem anderen Beispiel diese JTL_DirectQuery Anweisung kurz erläutern oder mir sachdienliche Hinweise geben, die mir zur Lösung des Problems weiterhelfen können?
 

Marc Völker

Moderator
Mitarbeiter
15. April 2014
1.915
215
Hürth
AW: SQL Abfrage von PLZ

Die Frage ist erst mal, (sorry falls ich was überlesen habe) wo willst du die Abfrage haben?

Im Workflow? In der Emailvorlage? In den Ausdrucken?
Weil die Funktion JTL_DirectQuery dient ausschließlich dazu, in seinen Vorlagen Informationen aus der Datenbank darzustellen. Nicht mehr, nicht weniger.

Wenn du genau das willst, haben wir ja schonmal die Richtige Funktion, dann zur nächsten Baustelle, dem SQL

Ich nehme daher einfach mal nur das SQL zwischen den "

SELECT citipostPLZ.Partnernummer FROM citipostPLZ WHERE citipostPLZ.PLZ='Vorgang.Auftrag.Lieferadresse.PLZ '

Auf den ersten blick okay, auf dem zweiten nicht, weil das würde genau so wie es hier steht zur DB geschickt werden, ohne das die PLZ ersetzt wird.
Es müsste eigentlich so aussehen

SELECT citipostPLZ.Partnernummer FROM citipostPLZ WHERE citipostPLZ.PLZ='" + Vorgang.Auftrag.Lieferadresse.PLZ+ "'

Sprich mit Doppel " und der Verkettung durch +
Darüber hinaus muss am ende natürlich vor dem Schließendem einfachen ' kein Leerzeichen enthalten sein.

Vielleicht noch als Schutz vorne direkt nach dem Select eine TOP 1 mit einbauen, damit du wirklich nur einen, und zwar den ersten Datensatz ausgibst. P.S. der Qualifier im Forum von Tabellennamen bei den Spalten brauchst du nicht, wenn die Spalte eh Eindeutig ist. Also sollte das Statement dann so aussehen

SELECT TOP 1 Partnernummer FROM citipostPLZ WHERE PLZ='" + Vorgang.Auftrag.Lieferadresse.PLZ+ "'

Wenn wir das ganze noch was schön machen

SELECT TOP 1 [Partnernummer] FROM [dbo].[citipostPLZ] WHERE [PLZ]='" + Vorgang.Auftrag.Lieferadresse.PLZ+ "'

Dann sollt das auch so klappen.
 

adaptare01

Aktives Mitglied
24. Februar 2016
21
0
AW: SQL Abfrage von PLZ

Hallo Marc!

Das hat wunderbar geklappt. Vielen Dank fuer die schnelle Hilfe!
Jetzt muss ich das Ganze nur noch in lustigen Cond Abfragen basteln und dann ist es wohl perfekt.
Um den Lerneffekt fuer mich noch zu erhoehen, warum ist der letzte Ausdruck

'" + Vorgang.Auftrag.Lieferadresse.PLZ+ "'

zwischen den beiden + Zeichen?
Das erste koennte ich mir intuitiv noch erklaeren, aber das zweite......

Darf man eigentlich so ungeniert in der JTL Datenbank reinwerkeln?
Hatte irgendwo gelesen, dass man sonst keinen Anspruch auf Support hat, wenn man da was dran geaendert hat..
 

Marc Völker

Moderator
Mitarbeiter
15. April 2014
1.915
215
Hürth
AW: SQL Abfrage von PLZ

'" + Vorgang.Auftrag.Lieferadresse.PLZ+ "'

Dazu würde ich mir den ganzen ausdruck angucken


JTL_DirectQuery ("SELECT TOP 1 [Partnernummer] FROM [dbo].[citipostPLZ] WHERE [PLZ]='" + Vorgang.Auftrag.Lieferadresse.PLZ+ "'")

Beim ersten " fangen wir ja eine Zeichenkette an, alles was danach kommt wird ja auch "glaub in Rot dargestellt" weil es ein String ist, bei Vorgang.... handelt es sich um eine Variable, diese wollen wir ausgewertet haben, daher wird diese dann mit + Verknüpft
Auch string interpolation genannt. Danach sagen wir das wir den String nochmal um ein ' erweitern und schließen am ende kommt dann ein String wie z.B.

SELECT TOP 1 [Partnernummer] FROM [dbo].[citipostPLZ] WHERE [PLZ]='40210'

raus.

Darf man eigentlich so ungeniert in der JTL Datenbank reinwerkeln?
Hatte irgendwo gelesen, dass man sonst keinen Anspruch auf Support hat, wenn man da was dran geaendert hat..
Das ist ein Komplexeres Thema, Grundsätzlich ja, man darf es nicht. Es gibt gewisse Geschichten welche aber Toleriert werden, z.B. eigene Funktionen, eigene Stored Procedures, Eigene Tabellen, Eigene Views. Sowas ist okay.
Was nicht okay ist, Tabellen von JTL z.B. um Spalten zu erweitern. Trigger hinzuzufügen oder direkt Logik von JTL zu manipulieren.

Grundsätzlich ist sowas wie eine String Interpolation bei SQL Statements eine Sicherheits Lücke. Und Potenziel kann sowas zum Verlust von Daten führen. JTL hat dort aber ein paar Schutzmechanismen eingebaut, sodass nicht wirklich was Kritisches passieren kann.
 

adaptare01

Aktives Mitglied
24. Februar 2016
21
0
AW: SQL Abfrage von PLZ

Besten Dank Marc!

Sehr gute Erklaerung die mich auch dazu veranlasst hat ein SQL fuer Dummies Buch zu kaufen. Hatte irgendwann mal im Studium ein Semester Datenbanken, aber da ist nicht viel haengen gelieben.

Eigentlich graut es mir auch davor direkt in der Datenbank herumzufummeln, wenn man nicht wirklich den Durchblick hat.

Koennte man solche Abfragen auch irgendwie anders loesen, ohne eine zusaetzliche Tabelle in der Datenbank?

Zur Zeit haben wir ein PHP Script fuer diese Abfrage, welches sich aber in JTL nicht verwenden laesst.
 

Marc Völker

Moderator
Mitarbeiter
15. April 2014
1.915
215
Hürth
AW: SQL Abfrage von PLZ

Je nach menge der Datensätze bestimmt. Aber über die Tabelle auf jeden fall eleganter. Wir haben bei unseren Projekten ja auch unzählige zusätzliche Tabellen in der DB, ist eigentlich kein Problem
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Extern erstelltes SQL - Angebot falsche Werte User helfen Usern - Fragen zu JTL-Wawi 3
Neu In welcher SQL Tabelle finde ich den Ansprechpartner des Herstellers? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Seriennummern und SQL Abfragen User helfen Usern - Fragen zu JTL-Wawi 1
Update SQL Server Management Studio JTL-Wawi 1.10 1
Neu Einrichtung SQL in neuem Rechner funktioniert nicht Installation von JTL-Wawi 3
Neu SQL Code für GPSR Felder (Kaufland) zeigt Fehler + wird daher nicht übertragen kaufland.de - Anbindung (SCX) 0
Neu SQL für noch nie Verkaufte Artikel auf Marktplätzen. User helfen Usern - Fragen zu JTL-Wawi 3
Neu Update von 1.5.55.5 auf aktuell, welche Reihenfolge, SQL Express auf Standard Installation von JTL-Wawi 10
Neu PayPal - PayPal Checkout - 221 – SQL Fehler Plugins für JTL-Shop 0
Rechnung Abfrage IstStorniert JTL-Wawi 1.8 2
Neu PC-Umzug mit Datenbanksicherung von JTL-Wawi 1.5.48 User helfen Usern - Fragen zu JTL-Wawi 5
Neu JTL Shop Update von 5.3.3 auf 5.6 mit der Community Free Edition - WaWi funktion weiter gegeben? User helfen Usern - Fragen zu JTL-Wawi 1
Probleme mit dem Einstellen von Artikeln auf Amazon über JTL Wawi mit dem Lister 2.0 Amazon-Lister - Fehler und Bugs 4
Neu Update von JTL-Wawi von 1.6 auf 1.9 Installation von JTL-Wawi 10
Neu Von 0.99923 auf aktuell - mir fehlen die 1.5.52. und die 1.8.10.0 Installation von JTL-Wawi 1
Neu Kann man das Shop-Guthaben von Kunden per Workflow beeinflussen? User helfen Usern - Fragen zu JTL-Wawi 0
Angebotsimport von eBay automatisieren JTL-Wawi 1.10 1
Neu JTL Shop - Umwandlung Domain von Test auf Live Allgemeine Fragen zu JTL-Shop 1
JTL-Workflow | Automatisches Speichern von Rechnungen möglich? JTL-Wawi 1.9 2
Neu Kurze Rückfrage zur Einrichtung von 2. Sprache im Shop Allgemeine Fragen zu JTL-Shop 3
Steuersätze von EU Käufern greift nicht Einrichtung JTL-Shop5 3
Neu Export von nicht zugewiesenen Zahlungen JTL-Ameise - Fehler und Bugs 1
Neu Ihr Token bei JTL-eazyAuction ist ausgelaufen - Verletzung von Nebenpflichten (Treue- und Informationspflicht) durch JTL Einrichtung und Installation von JTL-eazyAuction 3
Neu Versandmeldungen werden nicht übertragen von JTL an Shopify, Shopify-Connector 4
Neu Nach Update von 1.8.10.0 auf 1.10.14.1 werden Rechnungen nicht mehr zu Amazon hochgeladen!!! Amazon-Anbindung - Fehler und Bugs 2
Zahlungsabgleich von Konten JTL-Wawi 1.8 0
Neu Die folgenden Dateien sind nicht identisch mit den Dateien der aktuellen Version von JTL-Shop. Allgemeine Fragen zu JTL-Shop 0
Über 100 Bestellungen von SCX nicht importiert kaufland.de - Anbindung (SCX) 1
Neu Ausgabe von Artikeldaten außerhalb der "Position Table" - im Auftrag Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu E-Mail von DHL Abschaltung Geschäftskunden-Versand API GKV v3 zum 31.05.2026 Arbeitsabläufe in JTL-Wawi 10
Neu Rollende Kommissionierung – Pflicht zur Bestätigung von Lagerplatz und Pickmenge Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
nach update auf 1.10.11.0 nur 251 von 252 Steuerklassne JTL-Wawi 1.10 3
Neu Nach Update von WaWi 1.6 auf WaWi 1.10 kein Abgleich der Artikeldaten mehr möglich WooCommerce-Connector 0
Neu Unternehmensspezifische Anpassung von Vorlagen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Neu Template von CFE auf Hosting Templates für JTL-Shop 2
Neu Version 2.1.0 von SpamProtector und SpamProtector Lite Plugins für JTL-Shop 10
Neu Fehlermeldungen beim Hochladen von Artikel über Amazon Lister 2.0 Amazon-Lister - Fehler und Bugs 0
Neu Fehler 500 im Child-Template nach Umstieg von 5.3.3 auf 5.5.3 Templates für JTL-Shop 8
Neu Fehler beim Übertragen von Bildern JTL - Shopware Thumbnail Problem height width dürfen nicht leer sein Shopware-Connector 5
Neu Import von SEO Meta Daten für Plattform Woocommerce WooCommerce-Connector 3
Neu Suche Dienstleister für Providerwechsel von Domainfactory zu All-Inkl Dienstleistung, Jobs und Ähnliches 12
Neu Suchen Wawi- und Shopspezialist (m/w/d) für Pflege von Bestandssystem inhouse in PLZ 24* Dienstleistung, Jobs und Ähnliches 0
Neu Wechsel von Shop 5 zu Shopify? Shopify-Connector 24
In Diskussion Workflow für das Austauschen von bestelltem Artikel in einem Auftrag gegen einen alternativen Artikel JTL-Workflows - Ideen, Lob und Kritik 3
Neu Import von SEO Meta Daten für Plattform Woocommerce JTL-Ameise - Ideen, Lob und Kritik 0
Neu Frage: Artikelimport aus Amazonlisting von Drittanbietern User helfen Usern - Fragen zu JTL-Wawi 4
Neu Upgrade von Wawi Version 1.5.48.2 auf aktuellere Version - was gibt es zu beachten? Installation von JTL-Wawi 5
Neu Suche Linux-Spezialisten für die Betreuung von unseren Servern Dienstleistung, Jobs und Ähnliches 1
Neu Sunmi OS (V3/T3) – Installation von JTL-POS ohne Play Store Allgemeine Fragen zu JTL-POS 5
Neu DHL Versenden 3.0 - Versand von US-Ware in die Schweiz blockiert JTL-ShippingLabels - Fehler und Bugs 0

Ähnliche Themen