可能这是一个基本问题,但我自己无法解决这个问题,如果有人能帮助我实现以下目标,我将不胜感激:
我希望从表中获取所有列,但只将其分组。我的查询如下:
SELECT NATIONAL_ID,
EMPLID,
PLAN,
CHECK_DT,
PERIODS,
SUM (SALARY),
SUM (EE_CONT),
SUM (ER_CONT),
SUM (AL_HOURS)
FROM DTL_TMP
WHERE EMPLID = 'xxxxx'
GROUP BY NATIONAL_ID,
EMPLID,
PLAN,
CHECK_DT,
PERIODS;
如果我在上面的查询中添加更多列,则会返回所有行,但我只想要上述查询返回的行。
我确实尝试了以下几个其他选项/示例:
SELECT OD.ProductID, OD.ProductName, CalQ.OrderQuantity
FROM (SELECT DISTINCT ProductID, ProductName
FROM OrderDetails) OD
INNER JOIN (SELECT ProductID, OrderQuantity SUM(OrderQuantity)
FROM OrderDetails
GROUP BY ProductID) CalQ
ON CalQ.ProductID = OD.ProductID
但由于表中没有键,它会检索多行。现在,如果我将任何字段作为键,它会给出唯一的约束违规。
请帮忙。 提前致谢!