Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL разделя 2 стойности от 2 заявки

По принцип третирайте тези две заявки като подзаявки, както е показано по-долу.

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

Ако искате да продължите по-нататък, можете да имате cvu.id като част от избора и да промените присъединяването, така че да можете да го направите във всички 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. Промяна на именувания екземпляр на SQL Server на екземпляр по подразбиране

  2. Кой е най-добрият начин за извършване на страниране на SQL Server?

  3. Как да създадете друга колона, зависима от ограничение по подразбиране, в sql сървър

  4. Не може да се свърже с localDB в VS2012 – Възникна грешка, свързана с мрежата или специфична за екземпляр, при установяване на връзка със SQL Server...

  5. Критерии за SQL филтър в критерии за присъединяване или клауза where, която е по-ефективна