sql >> Database >  >> RDS >> Sqlserver

SQL die 2 waarden deelt van 2 query's

Behandel deze twee zoekopdrachten in principe als subquery's zoals hieronder.

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

Als je verder wilt gaan, kun je de cvu.id als onderdeel van het selecteren en wijzigen van de join gebruiken, zodat je het voor alle cvu.id's kunt doen

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. Hoe SSIS-variabelen doorgeven in ODBC SQLCommand-expressie?

  2. Hoe de CREATE VIEW-code voor een weergave in PostgreSQL te zien?

  3. Veld met meerdere waarden importeren in Solr vanuit mySQL met behulp van Solr Data Import Handler

  4. Hoe kan ik een afbeelding invoegen in een MySQL-database met behulp van PHP?