Отримайте фіксоване значення у вибраному


13

Мені потрібно зробити SELECTзапит, де я отримую значення поля "гроші". Поле насправді не існує в базі даних. Мені просто потрібен запит, щоб повернути це поле з фіксованим значенням; у цьому випадку значення в доларах США.

Як повернути постійне значення у SELECTвиписці?


Відповіді:


21

Якщо значення завжди буде однаковим, ви можете зробити щось подібне:

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

Просто замініть.

Сподіваюся, це вам корисно.


Дуже дякую. Працює як шарм. Просто цікаво. Що це за останній "AS a" (після "FROM INFORMATION_SCHEMA.SCHEMATA")?
fedejp

Не проблема взагалі. AS вказує псевдонім для таблиці, це по суті коротке ім'я, на яке можна посилатися на таблицю.
Містер Броунстоун

Чудово. Я не знав, що ви можете використовувати псевдоніми для таблиць. Дуже дякую!
fedejp

0

@fedejp вам не потрібно вставляти "AS". Ви можете просто написати "INFORMATION_SCHEMA.SCHEMATA a", оскільки "AS" розуміється.

І якщо в запиті є лише одна таблиця (не приєднується), то вам не потрібно використовувати псевдонім, і жодне з вказаних полів не потребує "a". перед назвою поля, оскільки немає плутанини щодо того, з якої таблиці є всі поля.

Тож ви можете просто написати:

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

Тим не менш, псевдонім навіть однієї таблиці дає вам можливість просто ввести "a". у списку вибору (у випадку псевдоніма 'a') та перегляді всіх стовпців таблиці у випадаючому списку. Я думаю, що можна впевнено сказати, що майже кожен розробник SQL, який має досвід роботи, завжди буде псевдонімом своїх таблиць - навіть коли вибрано лише одну. Єдине місце, де я не використовую псевдоніми, - це при наданні стовпця значення результату підзапиту. Тоді я б псевдонім таблицю в основному виділення, але не псевдонім, що знаходиться в підзапиті, так що ви можете швидко розрізнити поля підзапиту і поля основних запитів.
Mashchax
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.