Obtenez une valeur fixe sur une sélection

13

J'ai besoin de faire une SELECTrequête où j'obtiens la valeur du champ "argent". Le champ n'existe pas réellement dans la base de données. J'ai juste besoin de la requête pour renvoyer ce champ avec une valeur fixe; dans ce cas, une valeur en USD.

Comment renvoyer une valeur constante dans une SELECTinstruction?

fedejp
la source
EN RELATION

Réponses:

21

Si la valeur est toujours la même, vous pouvez faire quelque chose comme ceci:

SELECT 'USD' AS `MONEY`, a.*
  FROM INFORMATION_SCHEMA.SCHEMATA AS a

Remplacez simplement a. * Par les colonnes que vous souhaitez renvoyer et INFORMATION_SCHEMA.SCHEMATA par le schéma et les tables que vous souhaitez interroger.

J'espère que cela vous aide.

Mr.Brownstone
la source
Merci beaucoup. Fonctionne comme un charme. Juste curieux. À quoi sert ce dernier «AS a» (après «FROM INFORMATION_SCHEMA.SCHEMATA»)?
fedejp
Aucun problème du tout. L'AS spécifie un alias pour la table, c'est essentiellement un nom court par lequel vous pouvez référencer la table.
Mr.Brownstone
Oh génial. Je ne pensais pas que vous pouviez utiliser des alias pour les tables. Merci beaucoup!
fedejp
0

@fedejp vous n'avez pas à insérer le 'AS'. Vous pouvez simplement écrire «INFORMATION_SCHEMA.SCHEMATA a» parce que «AS» est compris.

Et s'il n'y a qu'une seule table dans la requête (pas de jointures), vous n'avez pas besoin d'utiliser un alias et aucun des champs spécifiés n'a besoin de 'a'. devant le nom du champ, car il n'y a aucune confusion quant à la table d'où proviennent tous les champs.

Vous pouvez donc simplement écrire:

SELECT 'USD' AS `MONEY`, * FROM INFORMATION_SCHEMA.SCHEMATA;
GAG et épices
la source
Pourtant, l'aliasing d'une seule table vous donne la possibilité de taper simplement «a». dans la liste de sélection (en cas d'alias 'a') et voir toutes les colonnes du tableau dans une liste déroulante. Je pense qu'il est prudent de dire que presque tous les développeurs SQL ayant une expérience de travail aliasont toujours leurs tables - même quand un seul est sélectionné. Le seul endroit où je n'utilise pas d'alias est de donner à une colonne une valeur de résultat de sous-requête. Ensuite, je voudrais alias la table dans la sélection principale, mais pas alias celle de la sous-requête, afin que vous puissiez rapidement distinguer les champs de la sous-requête des champs de la requête principale.
Mashchax