我看到了返回工作日的视图。结果将是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'


任何答案都将真正有帮助!
对不起我的英语不好

最佳答案

该查询:

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, ....

关于mysql - 如何在另一个查询中将SQL查询结果用作列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54974088/

10-12 02:40