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

Bagaimana saya bisa menghindari pengulangan ekspresi terhitung beberapa kali dalam pilihan yang sama?

Anda dapat menggunakan aplikasi silang

SELECT T2.[ADD],
       T2.[ADD]*2,
       T2.[ADD]/2
FROM @T AS T1
  CROSS APPLY (SELECT T1.NUM1+T1.NUM2) AS T2([ADD])

atau CTE

WITH C AS
(
  SELECT NUM1+NUM2 AS [ADD]
  FROM @T
)
SELECT [ADD],
       [ADD]*2,
       [ADD]/2
FROM C

atau subquery (juga dikenal sebagai tabel turunan)

SELECT T.[ADD],
       T.[ADD]*2,
       T.[ADD]/2
FROM (
       SELECT NUM1+NUM2 AS [ADD]
       FROM @T
     ) AS T

Tidak mungkin menggunakan alias kolom dalam daftar bidang yang sama seperti yang dideklarasikan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hasil SSMS ke Kotak - CRLF tidak disimpan dalam salin/tempel - ada teknik yang lebih baik?

  2. Cara Membuat Database Online Dari Restore Mode di SQL Server

  3. Bagaimana cara terhubung ke SQL Server dari komputer lain?

  4. SQL Server Menjalankan Pemantauan Kueri

  5. Dapatkan ID catatan yang terakhir dimasukkan