【发布时间】:2022-01-26 09:49:06
【问题描述】:
对不起,我无法解释这个问题
我有一个问题,我需要将 4 个表连接在一起以查找一些信息。我正在使用内部联接,它为我带来了正确的数据,但重复的行具有微小的变化数据。可以说我正在获取这些数据
如果我们看看结果。在最后 4 行,我们可以注意到类似的结果。我想要实现的是将这 4 行转换为 2 行。
我只想要帐户 id = 车辆帐户 id 和 110 的行。我想要这两行。我写的join查询如下
select Distinct vh.VehicleNo,jd.AccountID, tr.ID,jd.Memo,je.Description, jd.Cr,jd.Dr ,jd.Detail, je.JEntryId, je.ExpenseID from tbl_JDetail jd
inner join tbl_JEntry je on je.JEntryId = jd.JEntryID
inner join tbl_Trip tr on tr.ID = je.RefID
inner join tbl_Vehciles vh on vh.VID = tr.VehicleID
我真的需要实现这一点。任何帮助将不胜感激我该如何实现。我想要的是让我用简单的语言编写查询
查询应该首先在 jdetail 中找到 accountid = 110 的行。然后获取它的 jentryid 。然后在 Jentry 中它应该找到 triid 并且在行程表中我有车辆 ID。 Vehicle 表包含车辆 ID。
那么查询应该在jdetail中找到具有相同jentryid和vehicleaccountid的
我需要 jdetail accountid = 110 和 accountid = vehicle.accountid
车辆关系为 Jdetail > Jentry > Trip > Vehicle
我希望我足够清楚
【问题讨论】:
-
您是否尝试过
GROUP BY需要将结果分组的字段? -
是的,我做到了,但没有达到结果
-
那么,你只需要“jdetail has accountid = 110”的结果吗?
-
对,我需要 jdetail accountid = 110 and accountid = vehicle accountid 其关系是 Jentry > Trip > Vehicle
-
只需在查询中添加 where 子句:..... where vehicle.accountid=110
标签: mysql sql-server