我有這個作業正常的查詢。
SELECT
a.id,
CASE
WHEN h.trimester < (SELECT time FROM some_table WHERE active='1') THEN 'old'
WHEN h.trimester = (SELECT time FROM some_table WHERE active='1') THEN 'actual'
WHEN h.trimester > (SELECT time FROM some_table WHERE active='1') THEN 'future'
ELSE 'Not Found'
END condition
FROM schedule h
JOIN users a
USING(id)
WHERE a.mail='$email'
ORDER BY COLID DESC LIMIT 1
我想知道的是,如果有一種更簡單的方法可以使用我從子查詢中獲得的值,而不必在每個案例比較中使用整個子查詢......
我敢肯定有人對此有答案:-)
uj5u.com熱心網友回復:
你試過這個說法嗎?
SELECT
a.id,
CASE
WHEN h.trimester < b.time THEN 'old'
WHEN h.trimester = b.time THEN 'actual'
WHEN h.trimester > b.time THEN 'future'
ELSE 'Not Found'
END condition
FROM schedule h
JOIN users a
USING(id)
JOIN (SELECT time FROM some_table WHERE active='1') b
WHERE a.mail='$email'
ORDER BY COLID DESC LIMIT 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/442562.html
標籤:mysql
上一篇:我有聊天應用程式,但在googleplay中發布時他們拒絕,因為我必須添加隱私政策
下一篇:在MySQL中用兩個鍵聯合所有
