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

MySQL Schnittmenge Abfrage Problem

Frage Entwicklung Datenbanken

Mitglied: nk

nk (Level 1) - Jetzt verbinden

23.09.2010 um 15:44 Uhr, 5658 Aufrufe, 5 Kommentare

Hallo,
komme bei einer evtl. simplen Abfrage nicht weiter.

Folgende Tabelle:

uid_local | uid_foreign
1 | 3
2 | 3
1 | 6
3 | 6


Nun möchte ich alle Reihen mit der uid_local 1 und 2 ausgeben lassen. Aber nur die mit gleicher uid_foreign.
Eine Abfrage nach den Reihen mit der uid_local 1, 2 und 3 sollte also keine Reihe ausgeben.

Ist das mit einer Abfrage zu schaffen oder muss ich mir da was anderes einfallen lassen?

Danke & Viele Grüße,
Nils
Mitglied: awagner82
23.09.2010 um 16:46 Uhr
Hi,

Was heißt mit "nur mit gleicher" uid_foreign?
Ist das ein fester Wert?
Willst du die Ergebnismenge untereinander vergleichen und anschließend nach dem Feld gruppieren?

Gruß
Bitte warten ..
Mitglied: nk
23.09.2010 um 17:02 Uhr
Hallo,
ich versuch mal zu erklären, worum es geht:
Es geht darum Inhalte über Keywords zu filtern.
Man soll bestimmte Keywords (uid_local) auswählen können und dann nur die Inhaltseinträge (uid_foreign) angezeigt bekommen, die mit den Keywords verknüpft wurden.
uid_foreign ist also kein fester Wert.

Gruß
Bitte warten ..
Mitglied: it-frosch
23.09.2010 um 18:23 Uhr
Hallo Nils,

>Nun möchte ich alle Reihen mit der uid_local 1 und 2 ausgeben lassen. Aber nur die mit gleicher uid_foreign.

und

>Man soll bestimmte Keywords (uid_local) auswählen können und dann nur die Inhaltseinträge (uid_foreign) angezeigt bekommen, die mit den Keywords verknüpft wurden.

sind verschiedene Abfragen.

Was willst du denn nun?

>Man soll bestimmte Keywords (uid_local) auswählen können und dann nur die Inhaltseinträge (uid_foreign) angezeigt bekommen, die mit den Keywords verknüpft wurden.

Das wäre diese Abfrage.

select uid_local,uid_foreign from tabelle where uid_local in ('Keyword1', ... ,'KeywordN')
order by uid_local



>Nun möchte ich alle Reihen mit der uid_local 1 und 2 ausgeben lassen. Aber nur die mit gleicher uid_foreign.

wäre

select a.uid_local,a.uid_foreign from tabelle a
where a.uid_local in ('1','2')
and a.uid_foreign in (select b.uid_foreign from tabelle b where b.uid_local in ('1','2') )

Bei der zweiten Abfrage bin ich mir nicht ganz sicher. Vielleicht meldet sich ja Biber dazu mal.

grüße vom it-frosch
Bitte warten ..
Mitglied: nxclass
23.09.2010 um 20:42 Uhr
01.
SELECT 
02.
    `uid_foreign`, 
03.
    GROUP_CONCAT(DISTINCT `uid_local` ORDER BY `uid_local` ASC SEPARATOR ', ') AS 'uid_local_list'     
04.
FROM `tab_100923` 
05.
GROUP BY `uid_foreign`;
erst mal eine Liste erzeugen mit allen uid_foreign und den dazugehörigen uid_local - in aufsteigender Folge.

nun könnte man darin nach der richtigen Kombination suchen.
01.
SELECT temp.`uid_foreign` 
02.
FROM ( 
03.
    SELECT `uid_foreign`, GROUP_CONCAT( DISTINCT `uid_local` ORDER BY `uid_local` ASC SEPARATOR ', ' ) AS 'uid_local_list' 
04.
    FROM `tab_100923` 
05.
    GROUP BY `uid_foreign` 
06.
) AS `temp` 
07.
WHERE temp.`uid_local_list` LIKE '1, 2';
Bitte warten ..
Mitglied: nk
30.09.2010 um 17:04 Uhr
Danke!
Damit habe ich es nun hinbekommen.
Viele Grüße,
Nils
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
PHP
MySQL-Abfrage mit php: Wert + true bzw. false (2)

Frage von tomolpi zum Thema PHP ...

Batch & Shell
gelöst Problem mit "username" abfrage in Batch Dateien (5)

Frage von KriAIT zum Thema Batch & Shell ...

Datenbanken
gelöst MYSQL Abfrage (20)

Frage von datadexx zum Thema Datenbanken ...

DSL, VDSL
Problem mit variernder Internetgeschwindigkeit (12)

Frage von schaurian zum Thema DSL, VDSL ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
RODC über VPN - Verbindung weg (10)

Frage von stefan2k1 zum Thema Windows Server ...