95718

SQL Abfragen mit Priorität versehen

Hallo Leute

Ich habe folgendes Problem...ich frage aus einer Datenbank mehrere Abfragen ab. Am Ende verbinde ich dann alle Abfragen mit einem Union.
Problem ist das ich am Ende dann viele Produktid´s mehrfach habe. Gibt es eine Möglichkeit in einer Endabfrage zu "priorisieren" so dass bestimmte Ergebnisse einer Abfrage rausfallen, weil sie bei der voherigen schon "rausgefischt" wurden

Bsp:

Ergebnis Abfrage 1 - bestimmte Produktkriterien

Produktid Name Preis

2525142 Produkt 1 25,10
2514786 Produkt 3 36,00

Ergebnis Abfrage 2 - bestimmte Produktkriterien

Produktid Name Kategorie

2525142 Produkt 1 25,10
2569584 Produkt 5 55,00
...

Im Ergebnis des Unions Abfrage 1 und 2 taucht Produkt 1 dann 2mal auf.....kann man vielleicht eine Priorität setzen, das Abfrage Nummer 1 quasi Vorrang hat

Hoffe ihr versteht mein Problem
Würde mich über ne Antwort freuen!
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 181306

Url: https://administrator.de/forum/sql-abfragen-mit-prioritaet-versehen-181306.html

Ausgedruckt am: 30.04.2025 um 02:04 Uhr

SlainteMhath
SlainteMhath 01.03.2012 um 15:33:19 Uhr
Goto Top
Moin,

mach doch über das Ergebnis deiner UNIONs ein SELECT mit entsprechenden GROUP BYs,

SELECT MAX(Name), MAX(Kategorie), MAX.....  FROM <UNION-KONSTRUKT> GROUP BY ProduktID

Ggfs. muss du das in Access das UNION-Konstrukt in eine separate Abfrage auslagern.

lg,
Slainte
32067
32067 01.03.2012 um 15:48:25 Uhr
Goto Top
Hallo,

mit welcher DB bist du da unterwegs?

Eigentlich nimmt UNION nämlich per default doppelte Zeilen aus dem Ergebnis raus ( http://www.w3schools.com/sql/sql_union.asp ), auch bei Access ( http://msdn.microsoft.com/en-us/library/bb208962%28v=office.12%29.aspx ).

MfG
95718
95718 02.03.2012 um 07:19:59 Uhr
Goto Top
Ich benutze eine Access-DB

Glaube habe oben ein doofes Beispiel benutzt-sorry
Ich probiers nochma....sagen wir mal es ist eine Baufirmen-DB aus der ich durch Abfragen verschiedene Arbeitsleistungen bestimmten Bau-Teams zuordnen will
Bsp- Schalterdosen anklemmen--> Elektriker usw.....

Ich frage nun einzelne möglichen Leistungen von Elektrikern ab und bestimme so den Bereich....und am Ende verbinde ich alle Bereichsabfragen mit einem Union und habe so alle Elektrikerleistungen!

Bsp für Elektriker Union:
Innenausbau und Aussenausbau wären seperate Abfragen nach bestimmten Kriterien...innerhalt dieser Kriterien kommt es teilweise zu Überschneidungen, die durch weiteres eingrenzen des Bereichs nicht mehr ausgeräumt werden können.

Kundennummer Betrag Team Bereich

123456 25,00 Elektriker Innenausbau
123456 25,00 Elektriker Aussenausbau
124567 35,00 Elektriker Innenausbau

ich bemesse dem Innenausbau jetzt mehr Priorität und will das bei doppelter Kundennummer der Aussenausbau dann rausfällt....eine Gruppierung funktioniert nicht und auch ein max beim Betrag nicht, weil es ja beim Kunden 123456 der selbe Betrag ist.
das ist quasi nur ein Auschnitt es gesamten Ergebnisses....es gibt noch viel mehr Bereiche und Teams!
Hoffe es ist so besser verständlich....sorry für das obere Bsp.