J'essaie d'exécuter une requête SQL qui génère une table avec deux colonnes faisant référence aux mêmes données mais utilisant des conditions différentes. Ma requête de résultats doit contenir des colonnes comme:Combiner des lignes de requête SQL Union
Interrogation Résultat:
- Quantité totale
- Disponible Quantité
Où Quantité totale est le nombre total d'un certain point et Disponible est un sous-ensemble du même élément, mais uniquement ceux qui sont marqués comme "Disponible".
J'ai essayé d'utiliser une UNION de la forme:
SELECT
'0' as Quantity,
COUNT (item.pkid) as Available
FROM itemInstance, itemType
WHERE
itemInstance.availability = 'AVAILABLE'
AND itemInstance.type = itemType.primary_key
UNION
SELECT
COUNT (DISTINCT item.pkid) as Quantity,
'0' as Available
FROM itemInstance, itemType
WHERE itemInstance.type = itemType.primary_key
Ce qui bien sûr produit quelque chose comme:
Quantity Available
1 0 2
2 4 0
3 0 3
4 7 0
Quand je veux vraiment:
Quantity Available
1 4 2
2 7 3
Tous l'aide serait appréciée. Merci!
ne peut pas écrire mieux - bien fait. – incarnate
Cela fonctionne magnifiquement! Merci! – RobotNerd
Bon sur vous lui demandant d'utiliser des jointures explicites. Les jointures implicites sont une si mauvaise pratique. – HLGEM