Re: [請益] 如何判斷user是否有資格參加某個賽事

看板PHP作者 (~~無相~~)時間14年前 (2011/04/20 23:46), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
SELECT ( CASE WHEN SUBSTR(結果.條件1,1,2)='OK' AND SUBSTR(結果.條件2,1,2)='OK' AND SUBSTR(結果.條件3,1,2)='OK' AND SUBSTR(結果.條件4,1,2)='OK' THEN '符合資格' ELSE '資格不符,請見其他欄位' END ) AS 審查結果,結果.* FROM ( SELECT (CASE WHEN 性別<>'M' THEN 'KO1' ELSE 'OK1' END) AS 條件1, (CASE WHEN 年齡 NOT BETWEEN 10 AND 20 THEN 'KO2' ELSE 'OK2' END) AS 條件2 (CASE WHEN 名額=0 THEN 'KO3' ELSE 'OK3' END) AS 條件3 (CASE WHEN 報名時間>今天時間 THEN 'KO4' ELSE 'OK4' END) AS條件4 FROM 表格 ) AS 結果 這樣寫不曉得你看得懂嗎? 就是利用CASE WHEN來把條件歸類,外面再包一層查詢 隨手打的,可能語法有誤,也請指正~ ※ 引述《boboptt (boboptt)》之銘言: : 假設有個賽事user要符合4個條件才能參賽 : 1.性別:男生 : 2.年齡:10~20歲 : 3.報名人數尚未額滿 : 4.報名時間尚未截止 : ----------------------------------------------- : 現在遇到一個問題,假如我將這4個條件SQL下在一起 : 雖然可以過濾出user是否具有參賽資格 : 但是遇到其中有資格不符的項目,卻沒有辦法告訴user是哪個條件不符 : 我該怎麼寫才能讓user知道是哪幾項資格不符呢? : 是要將條件分作4次SQL來寫嗎? -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.233.150.227
文章代碼(AID): #1Dhl_jkr (PHP)
文章代碼(AID): #1Dhl_jkr (PHP)