我是SQL的新手,这是我第一次尝试编写查询。
我已设法通过以下方式提取我需要的数据,但由于每个项目有多个useddates
,我的结果会为每个项目显示多个实例。如果我做得对,我已经尝试使用MAX不确定了。
预期结果:每个项目只能看到一个条目,最新lastuseddate
。
use bosext
SELECT artno, shorttext, longtext, price,MAX(lastuseddate) as LastUsed
FROM accountitem, accountitemdyn
WHERE NOT EXISTS
(SELECT *
FROM shelfitem
WHERE accountitem.ID = shelfitem.itemID)
Group by accountitem.artno,shorttext, longtext, price, lastuseddate
答案 0 :(得分:0)
在没有lastuseddate
Group by accountitem.artno,shorttext, longtext, price
答案 1 :(得分:0)
使用FULL OUTER JOIN
而不是WHERE EXISTS
,使用正确的联接加入您的两个帐户表,并且lastuseddate
中不包含GROUP BY
,因为它已经在汇总中功能
USE bosext
SELECT ai.artno, shorttext, longtext, price, MAX(lastuseddate) AS LastUsed
FROM accountitem ai
INNER JOIN accountitemdyn aid ON = ai.? = aid.?
FULL OUTER JOIN shelfitem s ON ai..ID = s.itemID
Group by ai.artno, shorttext, longtext, price
答案 2 :(得分:0)
您不应在group by子句中包含lastuseddate
use bosext
SELECT artno, shorttext, longtext, price,MAX(lastuseddate) as LastUsed
FROM accountitem, accountitemdyn
WHERE NOT EXISTS
(SELECT *
FROM shelfitem
WHERE accountitem.ID = shelfitem.itemID)
Group by accountitem.artno,shorttext, longtext, price
答案 3 :(得分:0)
从lastuseddate
子句
Group By
尝试以下方法
SELECT artno, shorttext, longtext, price,MAX(lastuseddate) as LastUsed
FROM accountitem, accountitemdyn
WHERE NOT EXISTS
(SELECT *
FROM shelfitem
WHERE accountitem.ID = shelfitem.itemID)
Group by accountitem.artno,shorttext, longtext, price