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?


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.


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;

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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.