Récapitulatif du nombre de talbes multiples dans une ligne ou une colonne

J'ai conçu un script de migration et, en tant que dernière séquence, j'exécute les deux lignes suivantes.

select count(*) from Origin select count(*) from Destination 

Cependant, j'aimerais présenter ces numbers sous forme de cellules dans le même tableau. Je n'ai pas encore décidé s'il est plus approprié de les mettre en rangées séparées dans une colonne ou des colonnes adjacentes sur une rangée mais je les veux dans la même table.

Comment puis-je sélectionner des éléments de ces sélections en alignment vertical / horizontal?

J'ai essayé de les sélectionner à la fois avec et sans parenthèses mais l'ID n'a pas fonctionné (probablement à cause du manque de ) …

Cette question est liée à une autre mais diffère dans deux aspects. Premièrement, c'est beaucoup plus clair et clair que le problème. En second lieu, il pose la question de l'alignment horizontal et vertical des valeurs sélectionnées alors que les questions liées ne concernent que les premières.

 select select count(*) from Origin, select count(*) from Destination select( select count(*) from Origin, select count(*) from Destination) 

Vous devez imbriquer les deux instructions select sous un SELECT principal (supérieur) afin d'get une ligne avec les counts des deux tables:

 SELECT (select count(*) from Origin) AS OriginCount, (select count(*) from Destination) AS DestinationCount 

SQLFiddle pour la requête ci-dessus

J'espère que c'est ce que vous cherchez, puisque la "même table" que vous mentionnez est légèrement déroutante. (Je suppose que vous faites reference à l'set de résultats)

Vous pouvez également utiliser UNION ALL pour renvoyer deux cellules avec le nombre de deux tables.

 SELECT COUNT(*), 'Origin' 'Table' FROM ORIGIN UNION ALL SELECT COUNT(*), 'Destination' 'Table' FROM Destination 

SQLFiddle avec UNION ALL

SQLFiddle avec UNION

Je recommand d'append la deuxième colonne de text afin que vous connaissiez la table correspondante pour chaque nombre.

Contrairement à UNION simple, la command UNION ALL returnnera deux lignes à chaque fois. La command UNION générera un seul résultat (cellule unique) si le nombre de lignes dans les deux tables est le même (le même nombre).

… ou si vous voulez vertical …

 select 'OriginalCount' as Type, count(*) from origin union select 'DestinationCount' as Type, count(*) from destination