Uzyskaj stałą wartość dla wybranego

13

Muszę wykonać SELECTzapytanie, w którym otrzymuję wartość pola „pieniądze”. Pole tak naprawdę nie istnieje w bazie danych. Potrzebuję tylko zapytania, aby zwrócić to pole ze stałą wartością; w tym przypadku wartość w USD.

Jak zwrócić stałą wartość w SELECTwyciągu?

fedejp
źródło

Odpowiedzi:

21

Jeśli wartość zawsze będzie taka sama, możesz zrobić coś takiego:

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

Wystarczy zamienić a. * Na kolumny, które chcesz zwrócić, a INFORMACJE_SCHEMA.SCHEMATA na schemat i tabele, które chcesz zapytać.

Mam nadzieję, że to ci pomoże.

Mr.Brownstone
źródło
Wielkie dzięki. Działa jak marzenie. Po prostu ciekawy. Do czego służy ten ostatni „AS a” (po „FROM INFORMACJE_SCHEMA.SCHEMATA”)?
fedejp
Żaden problem. AS określa alias dla tabeli, jest to zasadniczo krótka nazwa, do której można odwoływać się do tabeli.
Mr.Brownstone,
Świetnie. Nie pomyślałem, że możesz użyć aliasów do tabel. Wielkie dzięki!
fedejp
0

@fedejp nie musisz wstawiać „AS”. Możesz po prostu napisać „INFORMACJE_SCHEMA.SCHEMATA a”, ponieważ „AS” jest zrozumiały.

A jeśli w zapytaniu jest tylko jedna tabela (bez złączeń), nie musisz używać aliasu i żadne z określonych pól nie wymaga „a”. przed nazwą pola, ponieważ nie ma wątpliwości co do tego, z której tabeli pochodzą wszystkie pola.

Możesz więc po prostu napisać:

SELECT 'USD' AS `MONEY`, * FROM INFORMATION_SCHEMA.SCHEMATA;
GAG i przyprawy
źródło
Mimo to, aliasing nawet jednej tabeli daje możliwość wpisania „a”. na liście wyboru (w przypadku aliasu „a”) i wyświetleniu wszystkich kolumn tabeli na liście rozwijanej. Myślę, że można śmiało powiedzieć, że prawie każdy programista SQL z doświadczeniem zawodowym zawsze będzie aliasował swoje tabele - nawet jeśli zostanie wybrany tylko jeden. Jedynym miejscem, w którym nie używam aliasów, jest podanie wartości wynikowej podzapytania dla kolumny. Następnie aliasowałbym tabelę w głównym selekcji, ale nie alias tabeli w podzapytaniu, abyś mógł szybko odróżnić pola podzapytania od pól głównego zapytania.
Mashchax,