2012-03-05 40 views
0

我有一些表格在數據中放置了一些狀態。我怎樣才能做到我的查詢返回不同的ID

例如:

表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等於3或4或5,在我的表San_Proposta所有Imovel_id查詢。

我的查詢返回相同的imovel_id(12),多於一次,因爲存在status_id等於3,4和5這個imovel_id。我該如何做這個查詢來返回一次在我的表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

我tryied但是,它返回,曾多次 – 2012-03-05 13:20:45

+0

它不應該,如果你在選擇只使用Imovel_Id列,也我已經更新了答案 – Vikram 2012-03-05 13:23:38

+0

我使用一個以上的列。 – 2012-03-05 13:26:07

0

這是否幫助?

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

我試了這個,看看我的更新。 – 2012-03-05 13:21:51

0
Select Distinct Imovel_id from San_Propsta where status_Id in (3,4,5) 
相關問題