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, 1664 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
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Microsoft Office
Access Abfrage Sotieren (2)

Frage von charmeur zum Thema Microsoft Office ...

Batch & Shell
gelöst Powershell Access Abfrage auslesen? (2)

Frage von Druide83 zum Thema Batch & Shell ...

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
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...