Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

SQL Abfragen mit Priorität versehen

Frage Microsoft Microsoft Office

Mitglied: 95718

95718 (Level 1)

01.03.2012 um 15:24 Uhr, 4483 Aufrufe, 3 Kommentare

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!
Mitglied: SlainteMhath
01.03.2012 um 15:33 Uhr
Moin,

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

01.
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
Bitte warten ..
Mitglied: 32067
01.03.2012 um 15:48 Uhr
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
Bitte warten ..
Mitglied: 95718
02.03.2012 um 07:19 Uhr
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.
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Datenbanken
SQL - Abfragen Nachfrage (2)

Frage von PronMaster zum Thema Datenbanken ...

Datenbanken
2 SQL Abfragen verbinden

Frage von cuxmini zum Thema Datenbanken ...

Datenbanken
SQL Express - der Benutzer war nicht autorisiert (5)

Frage von adm999 zum Thema Datenbanken ...

Datenbanken
gelöst Hilfe bei SQL-Abfrage (5)

Frage von emeriks zum Thema Datenbanken ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (24)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (19)

Frage von smartino zum Thema Mac OS X ...

Hyper-V
Langsames Netzwerk i210 LAN Karte (10)

Frage von Akcent zum Thema Hyper-V ...

Netzwerke
Abisolierwerkzeug (10)

Frage von SarekHL zum Thema Netzwerke ...