SQL Query - Logik Problem

vilden

Lt. Junior Grade
Registriert
Juli 2007
Beiträge
482
Hey ho :)

Ich versuche gerade Datensätze zu finden, die sich in einigen Spalten gleichen. In der Tabelle unten möchte ich nur die ersten 4 Datensätze als Ergebnis erhalten. Bei der Spalte "Test" ist das Suchkriterium 2 und 3. Allerdings sollen diese nur angezeigt werden wenn in den gefunden Datensätzen sich das Datum gleicht und außerdem der Name.

Mein Gehirn ist grad am Ende ^^

Hoffe ihr könnt mir nen Tipp geben ;)

IDNameVornameTestDatum
1DummyRobert227.02.2013
2DummyMartin327.02.2013
3MusterEric226.02.2013
4MusterSteffi326.02.2013
5MöglichMarkus413.01.2013
 
Zuletzt bearbeitet:
Hy vilden

Ich bin mir nicht sicher, aber geht sowas wie:

SELECT * FROM <tabelle> WHERE Test IN (2,3) GROUP BY Datum, Name;

Gruß bandit600
 
Code:
SELECT
	*,
	COUNT(ID) cid,
	COUNT(Name) cn
FROM tabelle
WHERE Test IN (2,3)
GROUP BY
	Datum,
	Name
HAVING
	cid > 1 AND
	cn > 1
Ungetestet
 
Ich denke, das sollte deine Anforderung treffen:
Code:
SELECT * 
FROM table t1
WHERE t1.Test
IN (2, 3) 
AND t1.Name
IN (
  SELECT Name
  FROM table t2
  WHERE t2.ID != t1.ID
) AND t1.Datum in (
  SELECT Datum
  FROM table t3
  WHERE t3.ID != t1.ID
)
 
Vielen Dank!

Die Lösung von Yuuri brachte die besten Ergebnisse. Es wird zwar immer nur ein Datensatz von dem gesuchten Paar angezeigt, aber das reicht völlig aus für mein Vorhaben :)
 
Zurück
Oben