Ottieni un valore fisso su una selezione


13

Devo fare una SELECTquery in cui ottengo il valore del campo "denaro". Il campo in realtà non esiste nel database. Ho solo bisogno della query per restituire questo campo con un valore fisso; in questo caso un valore in USD.

Come restituisco un valore costante in SELECTun'istruzione?


Risposte:


21

Se il valore sarà sempre lo stesso, puoi fare qualcosa del genere:

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

Sostituisci semplicemente un. * Con le colonne che vuoi restituire e INFORMATION_SCHEMA.SCHEMATA con lo schema e le tabelle che desideri interrogare.

Spero che questo ti sia di aiuto.


Molte grazie. Funziona come un fascino. Solo curioso. A cosa serve l'ultimo "AS a" (dopo "FROM INFORMATION_SCHEMA.SCHEMATA")?
fedejp,

Nessun problema. L'AS specifica un alias per la tabella, è essenzialmente un nome breve con cui è possibile fare riferimento alla tabella.
Mr.Brownstone,

Oh grande. Non ho potuto usare gli alias per le tabelle. Molte grazie!
fedejp,

0

@fedejp non devi inserire 'AS'. Puoi semplicemente scrivere "INFORMATION_SCHEMA.SCHEMATA a" perché "AS" è compreso.

E se nella query esiste solo una tabella (nessun join), non è necessario utilizzare un alias e nessuno dei campi specificati richiede 'a'. davanti al nome del campo, poiché non c'è confusione su quale tabella provengano tutti i campi.

Quindi puoi semplicemente scrivere:

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

Tuttavia, aliasing anche una tabella ti dà la possibilità di digitare semplicemente "a". nell'elenco di selezione (in caso di alias "a") e visualizzazione di tutte le colonne della tabella in un elenco a discesa. Penso che sia sicuro affermare che praticamente tutti gli sviluppatori SQL con esperienza lavorativa aliaseranno sempre le loro tabelle, anche quando ne viene selezionato solo uno. L'unico posto in cui non utilizzo gli alias è quando si assegna a una colonna un valore di risultato di subquery. Quindi alias la tabella nella selezione principale, ma non alias quella nella sottoquery, in modo da poter distinguere rapidamente tra i campi della sottoquery e i campi della query principale.
Mashchax,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.