私は次のテーブルを持っています:
* sistema_documentos *
[id]、[caminho]、[idDocType](FK-> sistema_DocType.id)
* sistema_Indexacao *
[id]、[idDocumento](FK-> sistema_documentos.id)、[idIndice](FK-> sistema_Indexes)、[valor]
* sistema_DocType *
[id]、[tipoNome](FK-> sistema_DocType.id)
* sistema_DocType_Index *
[id]、[idName]、[mask]、[idTipo](FK-> sistema_DocType.id)、[tamanho]
このクエリから:
select distinct a.id, b.idIndice, b.valor from tgpwebged.dbo.sistema_Documentos as a
join tgpwebged.dbo.sistema_Indexacao as b on a.id = b.idDocumento
join tgpwebged.dbo.sistema_DocType as c on a.idDocType = c.id
join tgpwebged.dbo.sistema_DocType_Index as d on c.id = d.docTypeId
where d.docTypeId = 40
and (b.idIndice = 11 AND b.valor = '11111111' OR b.idIndice = 12 AND b.valor = '22222' )
次の結果が得られます
id idIndice valor
13 11 11111111
13 12 22222
14 11 11111111
14 12 22222
16 12 22222
ご覧のとおり、値11111111のidIndice11と値22222の12のすべてのIDが必要です。
ID16には値22222のID12がありますが、値11111111のID 11がないため、表示されたくありません。
クエリを更新して、必要な結果を取得するにはどうすればよいですか。私の質問が明確であることを願っています。質問するだけでなく、投稿を編集する場合。ありがとう