我有两个表 book1 和 book2。我在两个表中都有 issue_date
列。我想从两个表中获取匹配发行日期的记录。
book1 和 book2 有以下列 -
book_id | user_id | numofbooks | issue_date
我尝试了下面给出的 SQL 查询,但没有用 -
SELECT * FROM `book1`, `book2` WHERE issue_date between '2014-04-06' and '2014-05-07';
抛出一个错误。是否可以通过 SQL 方式执行此操作,还是我应该分别查询两个表并合并结果集?
最佳答案
我怀疑您是否真的想要两个表中所有匹配记录的笛卡尔积。
我想你想要这样的东西:
SELECT *
FROM book1
WHERE issue_date between '2014-04-06' and '2014-05-07'
UNION ALL
SELECT *
FROM book2
WHERE issue_date between '2014-04-06' and '2014-05-07';
这假设这两个表具有以相同顺序定义的完全相同的列(而这反过来又表明数据库设计不佳)。实际上,您可以将 *
替换为您真正想要的列。
关于php - MySQL从两个表中查找匹配的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23782091/