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
GELÖST

Gleichzeitig Zutreffende Kriterien in ein Access-Abfrage

Frage Entwicklung Datenbanken

Mitglied: napperman

napperman (Level 2) - Jetzt verbinden

05.06.2013 um 14:47 Uhr, 1673 Aufrufe, 3 Kommentare, 1 Danke

Moin zusammen!

Ich stehe gerade auf dem Schlauch:
Ich möchte eine Abfrage auf eine Tabelle mit 3 Spalten realisieren.
Die Tabelle enthält folgende Spalten

ID, Gruppe, Adressnr


Es kann nun also vorkommen, dass ein Adresse A1 mehrfach vorkommt, weil sie zu Gruppe G1 und G2 gehört.

Ich möchte nun eine Abfrage realisieren, bei der nur die Adressen angezeigt werden, die z.B. in G1 UND G2 sind.
NICHT ODER

Aber irgendwie sehe ich den Wald vor lauter Bäumen nciht.
Die Kriterien sollen aus einem Kombinations oder Listenfeld kommen, das ist nicht das Problem. Ich verstehe einfach nicht, wie ich das mit dem UND
bei den Kriterien bauen soll.

Vielleicht kann mir jemand nen virtuellen Schlag auf den Hinterkopf geben

Gruß,

Napperman
Mitglied: nxclass
05.06.2013 um 16:04 Uhr
bei der nur die Adressen angezeigt werden, die z.B. in G1 UND G2 sind. NICHT ODER
.. eine Möglichkeit:
01.
SELECT 
02.
  AdressNr, 
03.
  COUNT( ID ) AS 'anzahl' 
04.
WHERE Gruppe IN ('G1', 'G2') 
05.
GROUP BY Adressnr 
06.
HAVING anzahl = 2
.. noch eine:
01.
SELECT t1.Adressnr, t1.ID, t2.ID 
02.
FROM Tabelle t1 
03.
JOIN Tabelle t2 on ( t1.Adressnr = t2.Adressnr ) 
04.
WHERE 
05.
  t1.Gruppe = 'G1' AND 
06.
  t2.Gruppe = 'G2
Bitte warten ..
Mitglied: Biber
05.06.2013, aktualisiert um 19:47 Uhr
@nxclass

Nur als Ergänzung.
- die erste Abfrage würde möglicherweise ein vorzeigbareres Ergebnis liefern, wenn das Schlüsselwort "FROM" gefolgt von einem Tabellennamen erwähnt werden würde.

- die zweite Abfrage könnte ein bisschen länger dauern, wenn mehr als ein paar Datensätze in der Tabelle sind und kein Index auf der Adressnr liegt oder schlicht und einfach Addressfelder NULL oder leere Strings sind.

Wenn schon diese Strategie, dann würde ich als Tabelle t1 die wählen, die voraussichtlich die geringere Anzahl Datensätze mit Gruppenzugehörigkeit "G1" hat und dann:
01.
SELECT t1.Adressnr, t1.ID, t2.ID 
02.
FROM Tabelle (select Addressnr, ID from Tabelle  
03.
           where Gruppe='G1') t1 
04.
JOIN (select Addressnr, ID from Tabelle  
05.
           where Gruppe='G2' ) 
06.
    t2 on ( t1.Adressnr = t2.Adressnr )
Grüe
Biber
Bitte warten ..
Mitglied: napperman
11.06.2013 um 16:14 Uhr
Vielen Dank!

Die Schläge auf den Hinterkopf waren hilfreich

Gruß,

Napperman
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

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

Ähnliche Inhalte
Microsoft Office
Access Abfrage Sotieren (2)

Frage von charmeur zum Thema Microsoft Office ...

Datenbanken
gelöst Access 2010 Abfrage erster Werktag (10)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Datenbanken
gelöst Access 2010 komplizierte Abfrage (3)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (32)

Frage von Maik82 zum Thema Linux Netzwerk ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (20)

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

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

Frage von smartino zum Thema Mac OS X ...