を考えると、次のSQLで1対多の検索を実行するにはどうすればよいですか?
テーブル:
Names
Id int
Name varchar
Properties
Id int
NameId varchar
PropertyValue int
サンプルデータ:
Names Properties
Id Name Id NameId PropertyValue
1 Sam 1 1 1
2 Bam 2 1 2
3 Ram 3 2 1
私はプロパティテーブルを検索する場所名前ID = 1 し、両方のcriterias PropertyValueを= 1、PropertyValueを= 2が適用されます
私がしたことは
でした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)
INはORですが、必要なのはANDです。どうすれば実現できますか?
EDIT:
私が欲しいものは、それがデータを重複しており、2つのcriteriasのいずれかが満たされていない場合、何も返さない場合でも、二つの異なる行を返すために、両方のcriteriasが満たされたときということです
私はあなたのことを正しく理解していないと思うのですが、プロパティ値が1と2になりたいのですが、それはどうやってできますか?あなたはそれを置くと、それは決して一致を見つけることはできませんそれは1つまたは2のいずれかであることはできません。 – formatc