Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara membuat tampilan dengan 14000 Kolom di dalamnya?

Dengan serius? 14.000 kolom dalam tampilan? Anda memiliki masalah desain yang serius di sini. Namun jika Anda ingin mencobanya, coba kueri pivot dinamis ini. Ini berfungsi dengan data terbatas yang Anda berikan:

DECLARE @ColumnList VARCHAR (MAX)
DECLARE @SQL VARCHAR(MAX)


-- Create a list of distinct Item IDs which will become column headers
SELECT @ColumnList = COALESCE(@ColumnList + ', ','') + 'ItemID' + CAST(I.ItemID AS VARCHAR(12)) FROM (SELECT DISTINCT ItemID FROM Item) I


SET @SQL = '
SELECT
  ShopID, ' + @ColumnList + '
FROM
(  
  SELECT
    s.ShopID,
    ItemID = ''ItemID'' + Cast(i.ItemID as varchar(12)),
    sim.ItemCost
  FROM
      dbo.Shop_Item_Mapping AS sim
      JOIN dbo.Shop AS s ON sim.ShopID = s.ShopID
      JOIN dbo.Item AS i ON SIM.ItemID = i.ItemID
)  T
PIVOT
(
    MIN(ItemCost)
    FOR T.ItemID IN (' + @ColumnList + ')
) AS PVT'


exec (@SQL)

Nama bidang yang diedit sesuai pertanyaan yang diperbarui.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Impor file .txt ke SQL Server 2008

  2. Tidak dapat melihat pemicu yang saya buat di SQL Server Management Studio 2008

  3. Bagaimana cara melakukan reseed secara otomatis setelah menggunakan identity_insert?

  4. SQL Server ROWLOCK melalui SELECT jika tidak ada transaksi INSERT

  5. SQL - Perbedaan antara COALESCE dan ISNULL?