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?


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ê.


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;

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.