iT邦幫忙

0

SQL 單一變量值多個搜尋

SELECT * FROM 使用者表單
WHERE 組別 = (SELECT 組別 FROM 使用者表單 where 使用者名稱 = 'tuuki')and 使用者表單.在學人員 = 'Y'

我原本使用like 多增加搜尋 讓組別 'K2%'有K2的都出來 現在只能輸入 使用者名稱 = 'tuuki'
要出現跟這使用者組別開頭前兩個字串一樣的都列出來。
組別大概長 K20123、K20124、P50012、P50013、PO0047、PO0048.......
我看其他文章都有替like 輸入變量 SQL有辦法直接完成還是只能從程式裡增加判斷。

SQL 問題幾乎都被秒殺
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
Zed_Yang
iT邦新手 3 級 ‧ 2019-10-07 12:43:21
最佳解答
SELECT * 
FROM 使用者表單
WHERE 組別 like (SELECT SUNSTRING(組別,1,2)+'%' 
                  FROM 使用者表單 
                  WHERE 使用者名稱 = 'tuuki')
AND 使用者表單.在學人員 = 'Y'

這樣呢?


SELECT * 
FROM 使用者表單
WHERE 組別 like (SELECT SUBSTRING(組別,1,2)+'%' 
                  FROM 使用者表單 
                  WHERE 使用者名稱 = 'tuuki')
AND 使用者表單.在學人員 = 'Y'
hyert iT邦新手 5 級 ‧ 2019-10-07 13:26:12 檢舉

SUNSTRING要改SUBSTRING

hyert iT邦新手 5 級 ‧ 2019-10-07 13:27:07 檢舉

感謝

Zed_Yang iT邦新手 3 級 ‧ 2019-10-07 13:46:17 檢舉

阿咧不好意思直接寫沒注意到/images/emoticon/emoticon04.gif

2
小魚
iT邦大師 1 級 ‧ 2019-10-07 12:49:39

跟這篇 SQL 搜尋問題 有點類似,
再加上SubString之類的方法,
也許可以做得到.

小魚 iT邦大師 1 級 ‧ 2019-10-07 12:50:11 檢舉

喔喔, 有人貼出語法了.

hyert iT邦新手 5 級 ‧ 2019-10-07 13:27:13 檢舉

感謝

我要發表回答

立即登入回答