使用sql过程时遇到问题但找不到解决方案。
表 A 包含字段 a、b、c。 以及一个包含字段 a、w、x、y、z 的表 B。
在这里,我想要两个表的连接结果,其中 A.a = B.a 并在输出中选择 c、x、y、z 等字段,其中 w 最小。 w 是一个整数。 以下代码很有帮助,但当我想显示表 2 中的更多字段时,收到错误消息,指出未包含 Group by 子句。
SELECT OutO.routingSequence,
tbl2.a AS parentOrderNumber,
tbl2.c AS operationNumber,
tbl2.d as headerStatus,
tbl2.e as orderNumber
FROM Operation OutO
JOIN (
SELECT a, MIN(c) c
FROM (
SELECT h.parentordernumber a, o.operationNumber c
FROM header h , operation o
WHERE o.ordernumber=h.Parentordernumber
AND (
SELECT DATEDIFF(day,o.scheduledStartDate, GETDATE()) AS DiffDate
) < 3
AND (
SELECT DATEDIFF(day,o.scheduledStartDate, GETDATE()) AS DiffDate
) > -5
) tbl
GROUP BY a
) tbl2
ON OutO.ordernumber = tbl2.a
WHERE OutO.operationnumber = tbl2.c
请帮忙解决这个问题!!!
最佳答案
尝试使用distinct而不是group by
Select DISTINCT OutO.routingSequence, tbl2.a as parentOrderNumber, tbl2.c as operationNumber from Operation OutO
关于mysql - 连接两个表,结果显示在表 2 的 min() 字段上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38140753/