[英]stored procedure to find value in 2 columns out of 3
我輸入了約會日期,我應該做類似的事情。 我想運行一個查詢,該查詢將在任何兩列中將值拉出3(如果它具有1),或者如果任何一列具有1,它將僅返回那些結果。 但是,它應該搜索所有三列,並且在發現值等於1的三列中的任何一列中,都應返回該結果。 誰能幫我這個忙。 提前致謝。
ID Patient Patient Name prio prio2 prio3
-------------------------------------------------
1 101563 Robert Riley 1 1 1
2 101583 Cody Ayers 1 0 1
3 101825 Jason Lawler 0 0 1
4 101984 Dustin Lumis 1 0 0
5 102365 Stacy smith 1 0 0
6 102564 Frank Milon 1 0 0
7 102692 Thomas Kroning 1 0 0
8 102856 Andrew Philips 1 0 0
9 102915 Alice Davies 0 0 1
10 103785 Jon Durley 0 0 1
11 103958 Clayton Folsom 1 1 1
12 104696 Michelle Holsley 1 1 1
13 104983 Teresa Jones 1 0 1
14 105892 Betsy Prat 1 1 0
15 106859 Casey Ayers 1 1 0
因此,基本上,您想在3列prio,prio2或prio3 = 1的任何列中提取任何內容? 如果這不是您要的內容,請澄清您的問題(以獲得更好的答案)。 另外,您應該使用哪種類型的SQL對其進行標記。
SELECT ID,Patient,[Patient Name],prio,prio2, prio3
FROM uRtable
WHERE prio = 1 OR prio2 = 1 OR prio3 = 1
但是,如果您要回退3列prio,prio2或prio3中的任何一列= 1,但其中至少一列為0的任何行(獲取3 = 1中的任何列,但排除其中他們都= 1),可能最容易理解的方法是
SELECT ID,Patient,[Patient Name],prio,prio2, prio3
FROM uRtable
WHERE (prio = 1 OR prio2 = 1 OR prio3 = 1)
AND (prio = 0 OR prio2 = 0 OR prio3 = 0)
嘗試這個:
select * from mytable
where prio + prio2 + prio3 = (
select max(prio + prio2 + prio3)
from mytable
where prio = 1 or prio2 = 1 or prio3 = 1
)
SELECT *
FROM tbl
WHERE 1 IN (prio,prio2,prio3)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.