MySQL从查询中的另一个表中获取值

标签 mysql sql

这可能真的很容易做到。

我有一张表 dates 和一张表 inscriptionsdates 有 2 列(startend),它们是 datetime,并且总是有一行。 inscriptions 有 2 行我想使用(nametime)。 time 是一个 TIMESTAMP

我想做的是选择所有name 等于某物,timestartend 之间的所有内容 来自表 dates。我在发帖前查了一下,有人建议使用内部联接,但我不知道如何使用它们。

谢谢。

最佳答案

使用INNER JOINdates 表很容易实现(如您所想):

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 介于 startend 日期之间的行 dates

关于MySQL从查询中的另一个表中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22028233/

相关文章:

mysql - mysql "Write"命令列表,或者说如何判断mysql命令是否涉及写操作

mysql - 获取2016年提交请求的所有新用户

sql - 如何将所有 parent 的 parent 作为循环引用表中子对象的列?

sql - 用于填充记录集和返回 ID 的 Postgres 函数

c++ - 如何使用sqlite设置星期几

php - MYSQLi 日期格式 - 选择查询

php - 当数据库以拉丁瑞典语编码时,在 Paypal 管理面板中使用哪种字符集

php - 在 Magento 1.7.2 中使用 MYSQL 查询插入相同的产品描述

sql - 能否根据SQL Server license查询最大数据库大小?

mysql - 从 Linux Shell 运行的 sql 脚本中转义 $