【发布时间】:2020-03-08 14:43:39
【问题描述】:
这不起作用。我的列名包括 Mon、Tue、Wed、Thu、Fri、Sat、Sun 设置为 0 或 1。我正在尝试根据一周中的 3 位数当前日期查看列名是 0 还是 1。
SET @var = DATE_FORMAT(NOW(), '%a')
SELECT *, @var
FROM team LEFT JOIN fav ON team.Tag = fav.Tag WHERE ID = '123456' AND @var = '1'
ORDER BY team.Name
【问题讨论】:
-
为什么需要
SET?为什么不把它放在条件中呢? -
我最初尝试过 $var=date('D'); WHERE $var='1' 但这不起作用
-
不能动态选择列名。这相当于星期一的
SELECT *, '1'。考虑将您的数据设为properly relational,这样您就可以毫不费力地进行此查询。 -
你能举个例子吗?
-
您需要查找数据库范式并更好地了解如何关联您的数据以使此查询更简洁。应该是某一行与各种 on-day-X 表与其他行之间的一对多关系。
标签: mysql