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?


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.


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;

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.