【发布时间】:2020-07-11 11:52:17
【问题描述】:
我有三个表,我想根据日期时间获取所有表的记录,
这是我的“用户”表
id name
1 abc
2 xyz
这是我的表“paymentHistory”
id bookingId userId createdOn
1 101 1 2020-07-10 12:11:14
2 102 1 2020-07-11 10:31:19
3 105 1 2020-07-11 12:31:19
4 109 2 2020-07-10 11:45:32
这是我的表“cancelPaymentHistory”
id bookingId userId createdOn
1 103 1 2020-07-07 11:31:28
2 100 1 2020-07-11 11:31:28
3 109 2 2020-07-08 19:28:41
这是我的桌子“usr_booking”
id bookingId userId status created_on
1 104 1 Inprocess 2020-07-07 10:31:28
现在我想根据三个表的 createdOn (DESC) 获取 userId='1' 的所有记录 我该怎么做?
我尝试了以下代码,但显示了很多记录(显示错误的结果)
SELECT u.id as userId,ph.bookingId as paymentHistoryBooking,cph.bookingId as CancelBookingId,ub.bookingId as usrBooking
FROM users u
JOIN paymentHistory ph ON u.id=ph.userId
JOIN cancelPaymentHistory cph ON u.id=cph.id
JOIN usr_booking ub ON u.id=ub.userId
WHERE u.id='152'
【问题讨论】:
-
能否请edit您的帖子并添加您想要获得的输出?
-
不过,我根本看不出该查询是如何工作的。您在查询中使用了
u和cph,但它们没有在任何地方定义。 -
$Mureinik : 我想根据日期时间记录,意思是记录来自paymentHistory,usr_booking还是cancelPaymentHistory应该根据时间(DESC)显示,希望你理解
-
@MagnusEriksson:请立即查看,编辑我的问题
-
这让我相信你没有复制/粘贴你的实际代码。始终复制/粘贴真实代码而不重写它,否则您可能会引入新问题(就像我指出的那样),甚至不小心修复了您在真实代码中遇到的潜在问题。