经过多次追踪和磨难后,我才能够编写以下查询。仅从查询中返回最高记录(或第1行)
SELECT repName.repID, repName.Rep_Name, Positions.Position, repName.Roster, DataSheet.ENTERED
FROM DataSheet INNER JOIN
repName ON DataSheet.EE_ID = repName.repID INNER JOIN
Positions ON repName.Job_Code = Positions.Job_Code
WHERE (DataSheet.ENTERED <= @ENTEREDEnd)
GROUP BY repName.repID, repName.Rep_Name, Positions.Position, repName.Roster, DataSheet.ENTERED, DataSheet.ITEM_ASSIGNED
HAVING (DataSheet.ENTERED >= @ENTEREDStart) AND (DataSheet.ITEM_ASSIGNED = @ITEM_ASSIGNED) AND (repName.Roster = N'YES')
ORDER BY DataSheet.ENTERED
我仍然感觉我身边SQL的方式,并想知道这是否查询可以被修改,使得它只返回顶部值或行1.我想该值发送到一个文本框在我形成。
谢谢
谢谢,我忘了提及我正在使用SQL CE,TOP不支持它。 –
@JoseM。你可以使用'ROW_NUMBER()'函数吗? –
如果SQL CE使用了这个TOP(N)。您必须用圆括号括起数字。 – Jade