[英]How can I use a SQL query result as a column in another query?
我的觀點可以在工作日返回。 結果將是WHERE子句中的一列,如下所示:
SELECT * FROM dvtv_delivery WHERE (SELECT day FROM dvtv_weekday) = 'Y'
例如:
今天是星期天,在dvtv_weekday返回SUN在dvtv_delivery中存在列SUN
Mysql中可能嗎? 當我跑步時,什么也沒出現
使用下面我用下,工作
SELECT * FROM dvtv_delivery WHERE SUN = 'Y'
任何答案都將真正有幫助! 對不起我的英語不好
結果將是WHERE子句中的一列
如果是這種情況(您想比較一列),則該列應屬於同一查詢。
SELECT
*
FROM dvtv_delivery
WHERE
day = 'Y'
假設子查詢恰好返回一行,則將按書面形式執行查詢:
SELECT *
FROM dvtv_delivery
WHERE (SELECT day FROM dvtv_weekday) = 'Y'
這樣的查詢是標量子查詢 。 它必須返回一列,最多返回一行(在大多數情況下)。
通常,此類子查詢與外部查詢相關 。 這意味着WHERE
子句連接兩個表中的值。 目前尚不清楚相關子句在這種情況下是什么樣子,但是查詢的結構是:
SELECT d.*
FROM dvtv_delivery d
WHERE (SELECT wd.day
FROM dvtv_weekday wd
WHERE wd.? = d.? -- maybe these would be date columns?
) = 'Y'
該查詢:
SELECT day FROM dvtv_weekday
返回類似'SUN'
的字符串,而不是SUN
列的名稱。
因此,WHERE等效於:
WHERE 'SUN' = 'Y'
它將始終不返回任何行。
您需要這樣的東西:
SELECT * FROM dvtv_delivery
WHERE
CASE (SELECT day FROM dvtv_weekday)
WHEN 'SUN' THEN SUN
WHEN 'MON' THEN MON
WHEN 'TUE' THEN TUE
WHEN 'WED' THEN WED
WHEN 'THU' THEN THU
WHEN 'FRI' THEN FRI
WHEN 'SAT' THEN SAT
END = 'Y'
我假設表dvtv_delivery
具有所有這些列: SUN, MON, ....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.