Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL从一个表中选择在另一个表中出现_Mysql_Sql - Fatal编程技术网

Mysql SQL从一个表中选择在另一个表中出现

Mysql SQL从一个表中选择在另一个表中出现,mysql,sql,Mysql,Sql,我有两张桌子: Event +----------+---------+--------------+ | event_id | name | date | +----------+------+-----------------+ | 1 | Event 1 | 26/03/2012 | +----------+------+-----------------+ | 2 | Event 2 | 27/03/2012 | +-------

我有两张桌子:

Event
+----------+---------+--------------+
| event_id | name    | date         |
+----------+------+-----------------+
| 1        | Event 1 | 26/03/2012   |
+----------+------+-----------------+
| 2        | Event 2 | 27/03/2012   |
+----------+------+-----------------+

Reservation
+----------------+------------+--------------+
| reservation_id | date       | themed_id    |
+----------------+------------+--------------+
| 1              | 26/03/2012 | 1            |
+----------------+------------+--------------+
| 2              | 26/03/2012 | 1            |
+----------------+------------+--------------+
| 3              | 27/03/2012 | 2            |
+----------------+------------+--------------+
| 4              | 26/03/2012 | 1            |
+----------------+------------+--------------+
如何显示预订表中出现少于3次的所有事件

输出将是:

+----------+---------+--------------+
| event_id | name    | date         |
+----------+------+-----------------+
| 2        | Event 2 | 27/03/2012   |
+----------+------+-----------------+
因为事件二只在预定中出现过一次

谢谢

我猜是Event.Event\u id=Reservation.themed\u id?如果是:

编辑:更改为左联接,以包含保留为0的事件

SELECT
    Event.event_id,
    Event.name,
    Event.date
FROM
    Event
LEFT JOIN Reservation ON Event.event_id = Reservation.themed_id
GROUP BY
    Event.event_id
HAVING
    COUNT(DISTINCT Reservation.reservation_id) < 3

我还没有测试过,但基本想法是这样。

你自己先试过吗?我们是来帮助你的,不是给你一个完整的书面解决方案。
SELECT *
FROM Event
WHERE event_id IN (
SELECT themed_id
FROM Reservation
GROUP BY themed_id
HAVING COUNT(*) < 3)