我正在尝试修改现有查询,该查询显示共享 ID 的重复行,同时具有不同的辅助 ID。
SELECT IM.*, C.Client, U.Name, R.FrequencyUnit, R.FrequencyDuration, R.RIID
FROM itemsMisc IM
LEFT JOIN Clients C on C.ClientID = IM.ClientID
LEFT JOIN Users U on U.UserID = IM.UserID
LEFT JOIN Recurringitem R ON (R.ClientID = C.ClientID AND IM.Rate = R.Rate AND IM.Title = R.Title)
WHERE (IM.CID = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#CID#">)
AND (IM.Invoiced = 0)
ORDER BY IM.DateCompleted ASC;
发生的情况是,如果同一个用户制作了 2 个类似的重复项目,则重复的行显示为具有相同的 IMID(来自 itemsMisc),但具有来自 Recurringitems 的不同 RIID。
我在 IMID 上尝试了 GROUP BY,发现我必须在 GROUP BY 中包含所有选择的项目,这让我无处可去。
SELECT IM.IMID, IM.UserID, IM.ClientID, IM.Rate, IM.Title, IM.CID, IM.QTY, IM.DateCompleted, C.Client, U.Name, R.FrequencyUnit, R.FrequencyDuration, R.RBID
FROM ItemMisc IM
LEFT JOIN Clients C on C.ClientID = IM.ClientID
LEFT JOIN Users U on U.UserID = IM.UserID
LEFT JOIN Recurringitem R ON (R.ClientID = C.ClientID AND IM.Rate = R.Rate AND IM.Title = R.Title)
WHERE (IM.CID = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#CID#">)
AND (IM.Invoiced = 0)
GROUP BY IM.IMID, IM.UserID, IM.ClientID, IM.Rate, IM.Title, IM.CID, IM.QTY, IM.DateCompleted, C.Client, U.Name, R.FrequencyUnit, R.FrequencyDuration, R.RBID
ORDER BY IM.DateCompleted ASC;
如果我能澄清任何事情,请告诉我。
提前致谢