Obter um valor fixo em uma seleção

13

Eu preciso fazer uma SELECTconsulta onde eu recebo o valor do campo "dinheiro". O campo não existe realmente no banco de dados. Eu só preciso da consulta para retornar este campo com um valor fixo; neste caso, um valor em USD.

Como faço para retornar um valor constante em uma SELECTinstrução?

fedejp
fonte
Relacionados: stackoverflow.com/q/2504163/1469208
Trejder

Respostas:

21

Se o valor sempre for o mesmo, você pode fazer algo assim:

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

Apenas substitua um. * Pelas colunas que você deseja retornar e INFORMATION_SCHEMA.SCHEMATA pelo esquema e pelas tabelas que você deseja consultar.

Espero que isso seja útil para você.

Mr.Brownstone
fonte
Muito obrigado. Funciona como um encanto. Apenas curioso. Para que serve o último 'AS a' (depois de 'FROM INFORMATION_SCHEMA.SCHEMATA')?
fedejp 8/08/12
Sem problema algum. O AS especifica um alias para a tabela; é essencialmente um nome abreviado pelo qual você pode fazer referência à tabela.
Mr.Brownstone
Oh, ótimo. Eu não sabia que você poderia usar pseudônimos para tabelas. Muito obrigado!
fedejp 8/08/12
0

@ fedejp você não precisa inserir o 'AS'. Você pode simplesmente escrever 'INFORMATION_SCHEMA.SCHEMATA a' porque o 'AS' é entendido.

E se houver apenas uma tabela na consulta (sem junções), você não precisará usar um alias e nenhum dos campos especificados precisará de 'a'. na frente do nome do campo, pois não há confusão sobre de qual tabela todos os campos são.

Então você pode simplesmente escrever:

SELECT 'USD' AS `MONEY`, * FROM INFORMATION_SCHEMA.SCHEMATA;
GAG e especiarias
fonte
Ainda assim, o atalho para uma única tabela oferece a opção de apenas digitar 'a'. na lista de seleção (no caso do alias 'a') e vendo todas as colunas da tabela em uma lista suspensa. Eu acho que é seguro dizer que praticamente todos os desenvolvedores SQL com experiência de trabalho sempre usarão o apelido de suas tabelas - mesmo quando apenas uma for selecionada. O único lugar em que não uso aliases é ao atribuir a uma coluna um valor de resultado de subconsulta. Então, eu aliasse a tabela na seleção principal, mas não a da subconsulta, para que você possa distinguir rapidamente entre os campos da subconsulta e os campos da consulta principal.
Mashchax