0
我想根據日誌表中的狀態字符串顯示狀態是或否。根據MYSQL中的條件顯示狀態
SQL查詢
SELECT Data.user_id,
CASE WHEN log.user_id = Data.user_id and log.status like 'checked%' THEN 'YES'
ELSE 'NO' END AS Status1 ,
CASE WHEN log.user_id = Data.user_id and log.status like 'UNCHECKED%' THEN 'YES'
ELSE 'NO' END AS Status2
from Data
LEFT JOIN log
on log.user_id = Data.user_id and log.log_id = '23'
GROUP BY Data.user_id;
數據表:
user_id
23
24
25
日誌表:
user_id status log_id
23 checked_REC 23
23 UNCHECKED_REC 23
25 checked_REC 23
26 clicked_REC 12
27 valid_REC 13
28 sesionout_REC 14
我需要顯示爲
user_id Status1 Status2
23 YES YES
24 NO NO
25 YES NO
但現在我越來越
user_id Status1 Status2
23 YES NO
24 NO NO
25 YES NO
我該怎麼做,以獲得所需的狀態?
遠預期的輸出,你不需要將它添加到的情況。並且,您正在按ID分組兩個具有不同Status2,2值的行。我不知道它是否重要,但在'UNCHECKED%'後面有一個空格 – McNets
只是爲了再次強調mcNets正確表示:您必須刪除'UNCHECKED%'中的空格。 – Solarflare
@Solarflare刪除空格後產生上面顯示的錯誤結果 – dafodil