SQL查询中的一些疑问 [英] Some doubt in sql query
问题描述
在我的应用程序中,查询结果与网格视图绑定.
查询为]
In my application a query result is bind with a Grid View.
the query as ]
SELECT tbl_DisclosureTypeDetails.disclodetDisclosureId,isnull( tbl_Disclosures.Disclosures,'''') AS Expr1,
convert(varchar(20), tbl_BorrowersMasterTemp.BMCurrDate,5),''closed'' as status,convert(varchar(20), tbl_DiscloTypeDetailsTemp.dtdTempDate,5)
FROM ( tbl_DisclosureTypeDetails INNER JOIN
tbl_Disclosures ON tbl_DisclosureTypeDetails.disclodetDisclosureId = tbl_Disclosures.DiscId)
INNER JOIN tbl_DiscloTypeDetailsTemp on tbl_DiscloTypeDetailsTemp.dtdTempDisclosureId=tbl_DisclosureTypeDetails.disclodetDisclosureId
INNER JOIN tbl_BorrowersMasterTemp on tbl_BorrowersMasterTemp.BMId=tbl_DiscloTypeDetailsTemp.dtdTempId
WHERE (tbl_DisclosureTypeDetails.disclodetMasterId = (SELECT BMDisclosure
FROM tbl_BorrowersMaster
WHERE BMId = 221)) and tbl_DisclosureTypeDetails.disclodetDisclosureId not IN(SELECT
BMCDisclosures
FROM tbl_BorrowersMasterChild
WHERE (BMCBorrowerID = 221)) order by tbl_DisclosureTypeDetails.disclodetDisclosureId
该查询的结果是5列.
在此结果中,两列的值均与每一行相同.但是其他列重复使用5行或更多行.
我不能使用group by子句,因为每一行都不同.
因此,我该如何获取此表中的第五行或最新行.
放样
61 c1 10年10月5日08年10月5日
61 c1 08-05-10 08-05-10
61 c1 08-05-10 09-05-20
61 c1 09-06-10 10-06-10
61 c1 10-06-10 11-06-10
61 c1 11-06-10 12-06-10
The result of this query is 5 columns .
In this result Two columns values are change as in each row. But other columns are repeated with 5 or more rows.
I can''t use group by clause because of each row is different.
So How to I take fifth or latest row in this table.
Out put sample
61 c1 07-05-10 08-05-10
61 c1 08-05-10 08-05-10
61 c1 08-05-10 09-05-20
61 c1 09-06-10 10-06-10
61 c1 10-06-10 11-06-10
61 c1 11-06-10 12-06-10
推荐答案
所以您想获得最后一行?
如果对最后一列(desc)排序并使用TOP(1)
又怎么样? 那会帮助吗?
So you want to get the last row?
How about if you sort on your last column (desc) and use TOP(1)
Would that help?
这篇关于SQL查询中的一些疑问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!