J'ai deux requêtes similaires sur la même table et la même où condition mais différentes sélections sur elle.combinant deux requêtes sql en un?
Select flatpos from archdetails
where version='1.3' AND compname IN (
select distinct compname from svn3 where revno='r270294'
)
ET
select count(distinct compname),
sum(CASE WHEN inFlat=1 THEN 1 ELSE 0 END),
min(flatLoopIndex)
from archdetails
where version='1.3'
AND compname IN (
select distinct compname from svn3 where revno='r270294'
)
Comme vous pouvez voir la requête est sur la même table archdetails
et où est la condition même pour les deux aussi bien.
requête 1 va afficher quelque chose comme
12
47
requête 2 va afficher quelque chose comme
396 43 1
Je voudrais que la sortie soit
12 396 43 1
47 396 43 1
Je ne peux évidemment pas les combiner par un groupe par.
Chacune de ces requêtes s'exécute en x fois. Je sais que je peux simplement placer ces requêtes dans la clause from d'une nouvelle requête et obtenir le résultat souhaité, mais la nouvelle requête s'exécute en deux fois.
Y a-t-il un moyen plus rapide puisque la base de données doit essentiellement être analysée une seule fois et que c'est juste une question de formatage.
Merci
Merci, je ne m'en suis pas rendu compte. Je le ferais immédiatement. – Gaurav
Le formatage n'est pas le travail de votre SGBDR. Ces lignes n'ont rien en commun. Sauf si vous faites un CROSS JOIN (mettre la deuxième requête dans la clause FROM de la première pour MySQL), je ne vois pas comment vous pouvez faire cela. –
Ce n'est pas évident pour moi, pourquoi ne pouvez-vous pas les combiner par un groupe de. –