gpt4 book ai didi

mysql - 左连接或类似查询

转载 作者:行者123 更新时间:2023-11-29 13:53:27 25 4
gpt4 key购买 nike

我的数据库中有一个租赁模式。

它有 3 个表,user、rentingTrack 和 lock。

用户拥有唯一元素 RFIDCode。在rentingTrack中,我可能有用户(他或她至少租过一次)或没有(他/她从未租过)。如果用户租了我需要最后一次租的returnLock,因为rentingID是自动递增的,它是max(rentingID)。通过锁表​​,我获得了 parkingID,即我需要的数据。

enter image description here

问题是如何获取 parking ID,我有一半的查询:

 SELECT  u.userID, l.parkingID

FROM locks l, user u

LEFT JOIN (SELECT r1.* FROM rentingTrack r1 INNER JOIN
(SELECT userID, MAX(rentingID) maxRentingID FROM rentingTrack GROUP BY userID) r2
on r1.rentingID = r2.maxRentingID) r on u.userID = r.userID

WHERE u.userCodeRFID= 3166681355

我需要的是,如果 userID 不在我得到的rentingTrack表中:

   userID   |  parkingID
----------+-----------
34 | NULL

如果用户ID在rentingTrack中

   userID   |  parkingID
----------+-----------
34 | 5

如何完成查询以获取 parkingID?

最佳答案

试试这个。 (需要一些重复项的示例数据)

select distinct u.userID,l.parkingID
from users
left join rentingTrack r on u.userID=r.userID
left join locks l on r.returnLock=l.lockid

关于mysql - 左连接或类似查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16294406/

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