SQL Abfrage irgendwie filtern
Hallo,
ich habe folgendes Problem und irgendwie bin ich zu doof dafür ich gebs ja zu.
also ich will eine SQL Abfrage machen, ich beschreib mal das Problem:
Rechnungen_Table
Hier hol ich entsprechend eine Rechnung raus (Datum), da bekomme ich 2 Sachen mit denen ich weitere Tables verknüpfe:
Kundennummer ->> verknüpft mit Kunden_Table
ArtikelNummer (der verkauft wurde) ->> verknüpft mit ArtikelPreisliste_Table
Kunden_Table
hier bekomm ich raus welcher Kundengruppe er angehört, was wiederum verknüpft ist mit ->> Kundengruppe_Table
Kundengruppe_Table:
Hier bekommt man raus welche Preislisten für den Kunden hinterlegt sind.
Preisliste ->> ArtikelPreisliste_Table
Wie wir sehen kommen wir hier auf zwei wegen auf die ArtikelPreiliste_Table.
Hier kann man sich vorstellen sind für jeden Artikel sagen wir mal ca. 10 Preislisten hinterlegt.
Ich will nun aber den Basispreis des Artikels rausbekommen und nur die Preise gemäß den Preislisten die für den Kunden aktuell sind.
Frage:
geht das überhaupt das man so doppelt gemoppelt in einer SQL Abfrage auf ein Table sich verknüpfen kann ?
Anderer seits hab ich das Problem das eben alle Preislisten Preise des Artikels gelistet werden und nicht nur der Kundengruppe entsprechende Preislisten.
Mit verknüpfen mein ich leider das es so grafisch ist, und kein direkter SQL Code, da das system leider so grafisch basierend arbeitet (ERP).
Es gibt das die möglichkeit eben tables zu verknüpfen mit table1.feld1 = table2.feld1 oder man kann so Kriterien noch einstellen (denke mal Filter).
Oder man kann dann direkt noch davon unabhängige filter verwenden um die anzeige des ergebnisses einzugrenzen, z.B.
table.rechnungsdatum >= StartDatum (das man festlegt) und table.rechnungsdatum <= EndDatum (das man festlegt) als parameter.
ist so ähnlich denk ich mal wie crystal reports was das grafische angeht.
wäre dankbar wenn jemand tips hat oder seiten wo man das ganze nachlesen könnte.
das problem ist eigentlich das ich etwas liste und das ergebnis quasi in der selben abfrage aus nem anderen table entsprechend rausfilter möchte.
mit vbs oder php hab ich das immer so gelost das ich eine sql abfrage 1 gemacht hab, damit ne schleife mit entsprechend dynamisch generierter sql abfrage nummer 2 (aus dem ergebnis der ersten abfrage) und beliebig wiederholt um am ende die gefilerten ergebnisse zu erziehlen. aber das muss ja irgendwie auch direkt gehen, und hier hab ich keine möglichkeit so aussenrum zu scripten
ich habe folgendes Problem und irgendwie bin ich zu doof dafür ich gebs ja zu.
also ich will eine SQL Abfrage machen, ich beschreib mal das Problem:
Rechnungen_Table
Hier hol ich entsprechend eine Rechnung raus (Datum), da bekomme ich 2 Sachen mit denen ich weitere Tables verknüpfe:
Kundennummer ->> verknüpft mit Kunden_Table
ArtikelNummer (der verkauft wurde) ->> verknüpft mit ArtikelPreisliste_Table
Kunden_Table
hier bekomm ich raus welcher Kundengruppe er angehört, was wiederum verknüpft ist mit ->> Kundengruppe_Table
Kundengruppe_Table:
Hier bekommt man raus welche Preislisten für den Kunden hinterlegt sind.
Preisliste ->> ArtikelPreisliste_Table
Wie wir sehen kommen wir hier auf zwei wegen auf die ArtikelPreiliste_Table.
Hier kann man sich vorstellen sind für jeden Artikel sagen wir mal ca. 10 Preislisten hinterlegt.
Ich will nun aber den Basispreis des Artikels rausbekommen und nur die Preise gemäß den Preislisten die für den Kunden aktuell sind.
Frage:
geht das überhaupt das man so doppelt gemoppelt in einer SQL Abfrage auf ein Table sich verknüpfen kann ?
Anderer seits hab ich das Problem das eben alle Preislisten Preise des Artikels gelistet werden und nicht nur der Kundengruppe entsprechende Preislisten.
Mit verknüpfen mein ich leider das es so grafisch ist, und kein direkter SQL Code, da das system leider so grafisch basierend arbeitet (ERP).
Es gibt das die möglichkeit eben tables zu verknüpfen mit table1.feld1 = table2.feld1 oder man kann so Kriterien noch einstellen (denke mal Filter).
Oder man kann dann direkt noch davon unabhängige filter verwenden um die anzeige des ergebnisses einzugrenzen, z.B.
table.rechnungsdatum >= StartDatum (das man festlegt) und table.rechnungsdatum <= EndDatum (das man festlegt) als parameter.
ist so ähnlich denk ich mal wie crystal reports was das grafische angeht.
wäre dankbar wenn jemand tips hat oder seiten wo man das ganze nachlesen könnte.
das problem ist eigentlich das ich etwas liste und das ergebnis quasi in der selben abfrage aus nem anderen table entsprechend rausfilter möchte.
mit vbs oder php hab ich das immer so gelost das ich eine sql abfrage 1 gemacht hab, damit ne schleife mit entsprechend dynamisch generierter sql abfrage nummer 2 (aus dem ergebnis der ersten abfrage) und beliebig wiederholt um am ende die gefilerten ergebnisse zu erziehlen. aber das muss ja irgendwie auch direkt gehen, und hier hab ich keine möglichkeit so aussenrum zu scripten
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 221863
Url: https://administrator.de/contentid/221863
Ausgedruckt am: 03.12.2024 um 17:12 Uhr
4 Kommentare
Neuester Kommentar
Moin,
Ich nehme an den Support des ERP Herstellers zu befragen steht nicht zur Debatte, oder?
Ansonsten ist deine Frage 1. recht verworren und 2. fehlen essentielle Infos (Welches ERP? Welcher SQL? usw...)
Grundsätzlich kann man auf (fast) jeden SQL Server die gleiche Tabelle mehrmals in einem SELECT verwerden
Etwa so:
lg,
Slainte
Ich nehme an den Support des ERP Herstellers zu befragen steht nicht zur Debatte, oder?
Ansonsten ist deine Frage 1. recht verworren und 2. fehlen essentielle Infos (Welches ERP? Welcher SQL? usw...)
Grundsätzlich kann man auf (fast) jeden SQL Server die gleiche Tabelle mehrmals in einem SELECT verwerden
Etwa so:
SELECT * FROM Tabelle as tab1
LEFT JOIN Tabelle2 as tab 2 on tab1.id = tab2.id
....
lg,
Slainte
Zitat von @ThePinky777:
Das ERP System heißt Epicor. und dafür bekommt man keinen Support, wenn dann nur nen Consultant der nach Stunden
verrechnet wird... da das ja eine customization ist. naja und ich würds halt auch gern mal kapieren dumm sterben sollen
andere
Das ERP System heißt Epicor. und dafür bekommt man keinen Support, wenn dann nur nen Consultant der nach Stunden
verrechnet wird... da das ja eine customization ist. naja und ich würds halt auch gern mal kapieren dumm sterben sollen
andere
Dann wäre eine Schulung das richtige für dich.