Menggunakan MS SQL Server 2008, saya melakukan kueri untuk menghitung tanggal Max 10 Kolom untuk setiap Baris. Permintaan itu ada di bawah. Saya juga perlu mencantumkan nama kolom yang memiliki tanggal Maks. Jadi Query akan memberi saya [Tanggal Langkah Terakhir] dan [Nama Langkah Terakhir]. Bagaimana cara mendapatkan [Nama Langkah Terakhir]?

SELECT (SELECT MAX(LastUpdateDate)
        FROM   (VALUES ([Step 1]),
                       ([Step 2]),
                       ([Step 3]),
                       ([Step 4]),
                       ([Step 5]),
                       ([Step 6]),
                       ([Step 7]),
                       ([Step 8]),
                       ([Step 9]),
                       ([Step 10]) ) AS UpdateDate(LastUpdateDate)) AS [Last Step Date]
FROM   MyTable 
1
sornamins 29 Desember 2017, 21:43

1 menjawab

Jawaban Terbaik

Kamu bisa memakai

SELECT ca.ColName, ca.LastUpdateDate
FROM   YourTable
       CROSS APPLY (SELECT TOP 1 *
                    FROM (VALUES
                       ('Step1', [Step 1]),
                       ('Step2', [Step 2]),
                       ('Step3', [Step 3]),
                       ('Step4', [Step 4]),
                       ('Step5', [Step 5]),
                       ('Step6', [Step 6]),
                       ('Step7', [Step 7]),
                       ('Step8', [Step 8]),
                       ('Step9', [Step 9]),
                       ('Step10', [Step 10]) ) UpdateDate(ColName, LastUpdateDate)
                    ORDER  BY LastUpdateDate DESC)ca 

Biola SQL

1
Martin Smith 29 Desember 2017, 19:07