Angesichts der folgendenWie kann ich eine Eins-zu-viele-Suche in SQL durchführen?
Tabellen:
Names
Id int
Name varchar
Properties
Id int
NameId varchar
PropertyValue int
Beispieldaten:
Names Properties
Id Name Id NameId PropertyValue
1 Sam 1 1 1
2 Bam 2 1 2
3 Ram 3 2 1
Ich möchte durch die Eigenschaften Tabelle, wo NameID = 1 und beide Kriterien Property = 1 und Property = suchen 2 werden angewendet
Was ich tat, war
SELECT dbo.Names.Id, dbo.Names.Name, dbo.PropertyValue
FROM dbo.Names
LEFT OUTER JOIN dbo.Properties on dbo.Names.Id = dbo.Properties.NameId
WHERE dbo.Names.Id = 1
AND dbo.Properties.PropertyValue IN (1,2)
Das IN tut ein OR, was ich brauche, ist ein UND, wie kann ich das erreichen?
EDIT:
Was ich will, ist, dass, wenn beide Kriterien erfüllt sind, zwei verschiedene Zeilen zurückgeben, auch wenn es Daten dupliziert und wenn eines der beiden Kriterien nicht erfüllt ist, nichts zurück
Ich denke, ich verstehe Sie nicht richtig, Sie wollen Wert der Eigenschaft 1 und 2, wie ist das möglich? Es kann nicht beides sein, es ist entweder 1 oder 2, wenn du UND buchst, wird es niemals Übereinstimmung finden. – formatc