这可能真的很容易做到。
我有一张表 dates
和一张表 inscriptions
。 dates
有 2 列(start
和 end
),它们是 datetime
,并且总是有一行。 inscriptions
有 2 行我想使用(name
和 time
)。
time
是一个 TIMESTAMP
。
我想做的是选择所有name
等于某物,time
在start
和end 之间的所有内容
来自表 dates
。我在发帖前查了一下,有人建议使用内部联接,但我不知道如何使用它们。
谢谢。
最佳答案
使用INNER JOIN
到dates
表很容易实现(如您所想):
SELECT i.`name`,
i.`time`
FROM `inscriptions` i
INNER JOIN `dates` d ON i.`time` BETWEEN d.`start` AND d.`end`
WHERE i.`name` = '<some criteria>'
实际上,连接 inscriptions.time
介于 start
和 end
日期之间的行 dates
。
关于MySQL从查询中的另一个表中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22028233/