我有一個查詢條件,其中的SQL Server
select idpays,idannonce,idville
from annonces
,我需要做一個有條件的地方,在那裏idpays=1
不顯示idville
null
別的其他idpays
顯示idville
null
我該怎麼辦這個好嗎?
問候
我有一個查詢條件,其中的SQL Server
select idpays,idannonce,idville
from annonces
,我需要做一個有條件的地方,在那裏idpays=1
不顯示idville
null
別的其他idpays
顯示idville
null
我該怎麼辦這個好嗎?
問候
不指定,究竟是什麼,應該當idpays = 1,但在這裏是爲你問什麼是基礎顯示 - 你
select idpays,idannounce,
case when idpays=1 then idville
else null end
from unknowntable
編輯基於OP評論 - 必須承認我:可以在SELECT的情況下,這聽起來更像是where子句你所描述,而不是一個問題做到這一點不確定我現在正確理解OP的要求:
select
from table
where (idpays<>1) or
(idpays=1 and idville not null)
你可能在找這個
WHERE (idpays = 1 AND idville NOT NULL) OR idpays > 1
我認爲這是正確的,但你的回答是假設idpays都是正數;如果情況並非如此,那麼idpays <> 1將是正確的次要條件。 –
嘗試使用CASE函數。我不認爲你需要的ELSE語句都:
SELECT idpays, iddonance,
CASE WHEN idpays = 1 THEN idville END AS idville
FROM annonces
如果您idpays
列包含NULL
值:
select idpays,idannonce,idville
from annonces
where (idpays = 1 AND idville IS NOT NULL) OR (ISNULL(idpays, 0) <> 1)
如果您正在尋找NOT NULL值idpays = 1和只對於idpays NULL值<> 1.
select idpays,idannonce,idville
from annonces
where (idpays = 1 AND idville IS NOT NULL) OR (ISNULL(idpays, 0) <> 1 AND idville IS NULL)
我有10個IDPays = 1:5 idville nul和5不是null,10個annonces idpays!= 1,我需要10個annonces idpays!= 1和5個idpays 5和idville不是null – user1428798
已編輯盡我所能解釋你的要求。你是說你正在查找idpays = 5的記錄嗎? –