0
私はその下に、このSQLクエリは、私の日付によって2順序を持っている必要がありますSQL 2つのオーダー異なる結果を与えることにより、
2016年2月1日 - 2017年3月1日
2月3日/ 2011 - 2016年7月7日
2010年12月22日 - 2016年7月7日
2016年2月1日 - 2016年2月1日
2010年12月22日 - 2013年7月7日
私は以下のクエリを使用する場合これが結果です。しかし、問題は、それが私が期待しているものではないということです。私はまず降順でDateEndを注文し、次にDateStartedを注文したいと思います。
Select top 5
Case When dbo.VoluntaryWork.Organization + ' - ' + dbo.VoluntaryWork.OrganizationAddress = ' - '
Then 'N/A'
Else dbo.VoluntaryWork.Organization + ' - ' + dbo.VoluntaryWork.OrganizationAddress end AS OrgAddress,
Case When isnull(CONVERT(varchar(10), dbo.VoluntaryWork.DateStarted, 101),'') = '' or isnull(CONVERT(varchar(10), dbo.VoluntaryWork.DateStarted, 101),'') = '01/01/1900' then 'N/A' else isnull(CONVERT(varchar(10), dbo.VoluntaryWork.DateStarted, 101),'') end AS DateStarted,
Case When isnull(CONVERT(varchar(10), dbo.VoluntaryWork.DateEnded, 101),'') = '' or isnull(CONVERT(varchar(10), dbo.VoluntaryWork.DateEnded, 101),'') = '01/01/1900' then 'N/A' else isnull(CONVERT(varchar(10), dbo.VoluntaryWork.DateEnded, 101),'') end AS DateEnded
From dbo.PersonVoluntaryWork
Inner Join dbo.VoluntaryWork ON dbo.PersonVoluntaryWork.VoluntaryWorksId = dbo.VoluntaryWork.VoluntaryWorksId
Where (dbo.PersonVoluntaryWork.PersonId = @PersonId)
Order By dbo.VoluntaryWork.DateEnded desc ,dbo.VoluntaryWork.DateStarted desc
その結果は、あなたが望むように_IS_注文しました。私が何かを見ていない限り。 – ZLK
私は@ ZLKに同意しますDateEndはdescにあり、次にDateStartedはdescです.2行目と3行目の出力を見ると分かります。 – Edward
@ZLK OMGGG!....私は盲目だと思う。私はちょうど '02/03/2011と02/01/2016'を見て、その年を見ていない。ありがとう。 – KiRa