gpt4 book ai didi

sql - 如何在同一个表上内部连接两个选择查询

转载 作者:行者123 更新时间:2023-12-04 18:26:52 25 4
gpt4 key购买 nike

我被卡住了......一个带有“值”和“数据类型”列的“数据”表填充了发动机负载和车辆速度,每条记录都标有日期、时间、纬度、经度。我想在车辆移动时查询超过 10% 的发动机负载(例如速度 > 0)。我可以创建一个查询来选择发动机负载,我可以创建一个查询来选择车辆速度,但是当 > 10% 并且车辆正在移动到它们的日期、时间纬度和长度时,我如何创建一个查询来选择发动机负载是平等的?

此查询不起作用,但它提供了我正在尝试执行的操作的 jist。谁能帮我创建一个查询?

tablesTName:  dataPK  datakey    valuefk1 dataeventkeyfk2 datatypenamekeyTName: datatypenamePK datatypenamekey   datatypenameTName: dataeventPK dataeventkey   datetime   lat   long
SELECT 
d1.datetime
FROM
(data INNER JOIN datatypename ON data.datatypenamekey = datatypename.datatypenamekey
INNER JOIN dataevent ON dataevent.dataeventkey = data.dataeventkey) d1
WHERE
( d1.datatypename = "Engine Load [%]" AND d1.value > 10 )

INNER JOIN

SELECT
d2.datetime
FROM
(data INNER JOIN datatypename ON data.datatypenamekey = datatypename.datatypenamekey
INNER JOIN dataevent ON dataevent.dataeventkey = data.dataeventkey) d2
WHERE
( d2.datatypename = "Vehicle Speed [mph]" AND d2.value > 0 )

ON d1.datetime = d2.datetime

最佳答案

我不是 100% 确定我理解,但我认为您只需要引用同一个表的两个实例。有点根据您的 SQL 做出一些假设,但在这里试一试:

SELECT 
engineLoad.dateTime
FROM
(
SELECT
d.datakey,
de.datetime
FROM
data d
INNER JOIN datatypename dt ON data.datatypenamekey = dt.datatypenamekey
INNER JOIN dataevent de ON de.dataeventkey = d.dataeventkey
WHERE
d.value > 10 AND
dt.datatypename = "Engine Load [%]"
) engineLoad
INNER JOIN
(
SELECT
d.datakey,
de.datetime
FROM
data d
INNER JOIN datatypename dt ON data.datatypenamekey = dt.datatypenamekey
INNER JOIN dataevent de ON de.dataeventkey = d.dataeventkey
WHERE
d.value > 0 AND
dt.datatypename = "Vehicle Speed [mph]"
) vehicleSpeed
ON engineLoad.dataKey = vehicleSpeed.dataKey <==might need to remove this line
AND engineLoad.datetime = vehicleSpeed.datetime

编辑
看起来您还需要两次引用 datatypename 吗?编辑了上面的,所以再试一次。

关于sql - 如何在同一个表上内部连接两个选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15767448/

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