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

SQL membagi 2 nilai dari 2 kueri

Pada dasarnya perlakukan kedua kueri tersebut sebagai sub kueri seperti di bawah ini.

select x.number / y.number 
from
(
  SELECT COUNT(cvu.[ID]) as number, 'Exp' AS [Exp]     
  FROM [dbo].[tblClientVehicleUnit] cvu     
  WHERE ExpirationDate < GetDate()     
  AND cvu.Id = '4C1' 
) x
join 
(
  SELECT COUNT(cvu.[ID]) as number, 'NonExp' AS [Exp]     
  FROM [dbo].[tblClientVehicleUnit] cvu     
  WHERE ExpirationDate > GetDate()     
  AND cvu.Id = '4C1'
) y on 1=1

Jika Anda ingin melangkah lebih jauh, Anda dapat menjadikan cvu.id sebagai bagian dari pilih dan ubah gabungan sehingga Anda dapat melakukannya di semua

cvu.id
select x.id, x.number / y.number 
from
(
SELECT cvu.id, COUNT(cvu.[ID]) as number, 'Exp' AS [Exp]     
FROM [dbo].[tblClientVehicleUnit] cvu     
WHERE ExpirationDate < GetDate()     
group by cvu.Id 
) x
join 
(
SELECT cvu.id, COUNT(cvu.[ID]) as number, 'NonExp' AS [Exp]     
FROM [dbo].[tblClientVehicleUnit] cvu     
WHERE ExpirationDate > GetDate()     
group by cvu.Id 
)y on x.id = y.id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pisahkan string menjadi karakter individual di Sql Server 2005

  2. Sql Server - Hindari kompilasi yang ditangguhkan

  3. Bagaimana cara menggunakan anotasi struktural untuk mengatur tipe SQL ke Date dalam model pendekatan pertama?

  4. Bahasa pengaturan MS SQL Secara global- implikasi?

  5. Bagaimana cara membaca kolom XML di SQL Server 2008?