Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 1702 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 ..
Ähnliche Inhalte
VB for Applications
gelöst DB-Abfrage in Excel mit Kriterien aus Excel (11)

Frage von JensDND zum Thema VB for Applications ...

Datenbanken
gelöst MySQL Abfrage um JOIN erweitern (14)

Frage von datadexx zum Thema Datenbanken ...

Linux
gelöst Vergleich zwischen Distributionen. Mögliche Kriterien? (18)

Frage von hansleitner zum Thema Linux ...

Neue Wissensbeiträge
Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(6)

Information von LordGurke zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (15)

Frage von Lynkon zum Thema TK-Netze & Geräte ...