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, 4392 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 ).

Mit freundlichen Grüßen
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
Ähnliche Inhalte
Datenbanken
2 SQL Abfragen verbinden

Frage von cuxmini zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage - DISTINCT - letztes Datum (3)

Frage von emeriks zum Thema Datenbanken ...

Windows Server
gelöst SQL-Server Datenbanksicherung inkl. Benutzerberechtigungen dafür? (4)

Frage von 1410640014 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...