gpt4 book ai didi

mysql - SELECT * FROM mytable INNER JOIN 等好,但是 SELECT * FROM mytable WHERE... INNER JOIN 错误

转载 作者:行者123 更新时间:2023-11-29 22:28:40 24 4
gpt4 key购买 nike

我正在尝试对两个查询进行 INNER JOIN。如果我对第一个组件有一个广泛的 SELECT 语句,它就可以正常工作。如果我尝试向第一个组件添加 WHERE...,我会收到无信息的语法错误,而且我不知道为什么。

这是可行的,但速度很慢,因为我的表很大(约 100 万行)

SELECT a.RoomNum, a.EventName, a.EventStatus, a.EventDateTime FROM eventtable a
INNER JOIN
(
SELECT `RoomNum`, eventname, MAX(`EventDateTime`) as MT
FROM `eventtable`
WHERE eventname = "DND"
Group BY RoomNum
) b
ON a.RoomNum = b.RoomNum and a.EventDateTime = b.MT and a.eventname = b.eventname

但我真正需要的是:

SELECT a.RoomNum, a.EventName, a.EventStatus, a.EventDateTime from eventtable WHERE a.EventName = "DND" a
INNER JOIN
(
SELECT `RoomNum`, eventname, MAX(`EventDateTime`) as MT
FROM `eventtable`
where eventname = "DND"
Group by RoomNum
) b
on a.RoomNum = b.RoomNum and a.EventDateTime = b.MT and a.eventname = b.eventname

我想过将结果分配给一个表,但实际上并不希望必须生成一个表,然后将其删除,以确保下次进行查询时,不会存在任何表。

谢谢。

最佳答案

首先,JOIN 可以在两个表上。当你写的时候,你不应该对这两者添加条件。如果您愿意,请将它们添加到末尾。

将 where 子句放在最后即可运行。

关于mysql - SELECT * FROM mytable INNER JOIN 等好,但是 SELECT * FROM mytable WHERE... INNER JOIN 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30022562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com