我的查询有效:
SELECT
u.UserName, v.registration,
CONVERT(CHAR(4), i.starttime, 100) + CONVERT(CHAR(4), i.starttime, 120) as StartTime ,
COUNT(*) AS NumberOfInspections,
COUNT(id.id) AS NumberOfDefects
FROM
INSPECTIONS i
join
[user] u on i.DRIVERID = u.UserID
join
Vehicle v on i.VEHICLEID = v.VehicleID
left outer join
INSPECTIONDEFECTS id on id.inspectionid = i.id
WHERE
i.COMPANYID = 3
AND i.STARTTIME > '01-jan-2014'
GROUP BY
u.UserName, v.registration,
CONVERT(CHAR(4), i.starttime, 100) + CONVERT(CHAR(4), i.starttime, 120)
ORDER BY
u.UserName, v.registration
但是我不想在其中有计数,有没有办法删除它们并让它仍然有效?每当我这样做时,查询将不再起作用。
答案 0 :(得分:0)
您还需要移除查询的group by
部分,以便在没有COUNT
的情况下使此查询正常工作。
答案 1 :(得分:0)
尝试删除COUNT
以及GROUP BY
尝试此查询,我希望它能正常工作
SELECT u.UserName, v.registration, CONVERT(CHAR(4),
i.starttime, 100) + CONVERT(CHAR(4), i.starttime, 120) AS StartTime, (id.id) AS NumberOfDefects
FROM INSPECTIONS i
JOIN [user] u on i.DRIVERID = u.UserID
JOIN Vehicle v on i.VEHICLEID = v.VehicleID
LEFT OUTER JOIN INSPECTIONDEFECTS id on id.inspectionid = i.id
where i.COMPANYID = 3 and i.STARTTIME > '01-jan-2014'
order by u.UserName, v.registration