2012-03-05 4 views
0

データにステータスを入れるテーブルがあります。例えば質問を返すにはどうすればいいですか?

表San_Proposta

Proposta_Id Status_Id Imovel_Id 
1    1   12 
2    1   12 
3    3   12 
4    4   12 
5    5   12 

私はSTATUS_IDが私のテーブルSan_Propostaで、3、または4、または5に等しく持っているすべてのImovel_idを返すクエリを実行します。

このimovel_idにstatus_idが3,4、および5であるため、クエリは同じimovel_id(12)を返します。私のテーブルsan_propostaにstatus_idが3、4、または5のimovel_idを一度返すようにこのクエリを実行するにはどうすればよいですか?

これはほしい例です。

私の本当の質問はこれです。

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 

@Updated

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. 

答えて

1

distinctキーワード試してみてください。

select distinct Imovel_Id 
from San_Proposta 
where Status_Id in (3,4,5) 

または

select Imovel_Id 
from San_Proposta 
where Status_Id in (3,4,5) 
group by Imovel_Id 
+0

私はそれはあなたが選択中のみImovel_Id列を使用している場合、それは、また、私は、私はもっとして1列を使用してい答え –

+0

たらもっとして返し、tryiedけど。 – Vikram

+0

を更新していないはず –

0

がその助けをしていますか?

SELECT distinct Imovel_Id FROM San_Proposta WHERE status_id IN(3,4,5) 
+0

私はこの1つをtryied、私の更新を見てください。 –

0
Select Distinct Imovel_id from San_Propsta where status_Id in (3,4,5) 
関連する問題