У меня есть таблица, которая помещает некоторый статус в данные.
Например:
Таблица Сан_Пропоста
Proposta_Id Status_Id Imovel_Id
1 1 12
2 1 12
3 3 12
4 4 12
5 5 12
Я хочу сделать запрос, который возвращает все значения Imovel_id, у которых status_id равен 3, или 4, или 5, в моей таблице San_Proposta.
Мой запрос возвращает тот же imovel_id (12), более одного раза, потому что существует, status_id равен 3, 4 и 5 этому imovel_id. Как я могу сделать этот запрос, чтобы вернуть только один раз imovel_id, у которого status_id равен 3, 4 или 5 в моей таблице san_proposta?
Это всего лишь пример того, что я хочу,
Мой настоящий запрос таков.
SELECT DISTINCT San_Proposta.Imovel_Id, San_Logradouro.Descricao, San_Endereco.Logradouro,
San_Imovel.Numero, San_TipoComplemento.Descricao AS Expr1, San_Imovel.Complemento,
San_Imovel.TipoDsc1, San_Transacao.TransacaoSigla, San_Transacao.Transacao_ID,
COUNT(San_Proposta.StatusProposta_Id) AS NumeroProposta,
CASE WHEN SN.ValidaCaptacao = 1
AND SN.ValidaVenda = 0
THEN 'AguardandoVenda' ELSE 'Nao' END as FoundInSanNegocio,
San_Proposta.DataHora
FROM San_Proposta LEFT JOIN San_Negocio SN
ON San_Proposta.Proposta_ID = SN.Proposta_ID JOIN San_Imovel
ON San_Proposta.Imovel_Id = San_Imovel.Imovel_Id JOIN San_Endereco
ON San_Imovel.Endereco_Id = San_Endereco.Endereco_Id JOIN San_Logradouro
ON San_Endereco.Logradouro_Id = San_Logradouro.Logradouro_Id JOIN San_TipoComplemento
ON San_Imovel.TipoComplemento_Id = San_TipoComplemento.TipoComplemento_Id
JOIN San_Transacao ON San_Imovel.Transacao_ID = San_Transacao.Transacao_ID
JOIN San_Credenciada ON San_Imovel.Credenciada_Id = San_Credenciada.Credenciada_Id
WHERE (San_Imovel.Credenciada_Id = 10 OR San_Proposta.Credenciada_Id = 10)
AND San_Proposta.StatusProposta_Id IN (3,4,5,6,7)
AND San_Proposta.DataHora BETWEEN '20120227' AND DATEADD(day,1,'20120305')
GROUP BY San_Proposta.Imovel_Id, San_Logradouro.Descricao, San_Endereco.Logradouro,
San_Imovel.Numero, San_TipoComplemento.Descricao, San_Imovel.Complemento,
San_Imovel.TipoDsc1, San_Transacao.TransacaoSigla, San_Transacao.Transacao_ID,
San_Proposta.StatusProposta_Id, SN.ValidaCaptacao, SN.ValidaVenda, San_Proposta.DataHora
ORDER BY San_Proposta.DataHora DESC
@ Обновлено
San_Imovel has the Imovel_Id as Primary Key.
San_Proposta has Proposta_Id as Primary Key and Imovel_Id as Foreign Key.
San_Negocio has Negocio_Id as Primary Key and Proposta_Id as Foreign Key.