【发布时间】:2016-12-19 10:14:45
【问题描述】:
在我的 mySQL 数据库中有四个表:breakfast、dinner、supper、supper。
这些表的列名相同。其中每个人都有一个名为“accepted”的列,等于0 或1。
我想做一个 SQL 查询,从这四个表中给我一个随机行 WHERE 'accepted' 列等于 0。
只有 1 个有效的表的 SQL 查询:
SELECT * FROM breakfast WHERE accepted=0 ORDER BY RAND() LIMIT 1
我的 SQL 查询版本有四个不起作用的表:
SELECT * FROM breakfast, dinner, supper, dessert WHEREbreakfast.accepted=0
AND dinner.accepted=0 AND supper.accepted=0 AND dessert.accepted=0 ORDER BY RAND() LIMIT 1
【问题讨论】:
-
表格是否有相同的列?
-
决定你使用什么 RDBMS。
-
请指定每个表中的列,当我们使用联合时,您必须为不同查询中的字段使用相同的名称,因为我们需要字段名称来提供别名
标签: mysql select multiple-tables multiple-conditions