powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Передача информации из WHERE в SELECT
13 сообщений из 13, страница 1 из 1
Передача информации из WHERE в SELECT
    #39971678
Necrosss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Документация учит нас что нельзя передать алиасы из SELECT в WHERE, например так:
Код: sql
1.
SELECT 'test' AS x WHERE x = 'test'


Т.к . есть приоритет, WHERE идёт перед SELECT то это не сработает.

Но почему не получается наоборот, передать алиас или переменую от WHERE в SELECT ?
Здесь что мешает ?

Код: sql
1.
SELECT x WHERE (SELECT 'test' AS x) = 'test'


Не работает.
Код: sql
1.
SELECT x WHERE 'test' AS x = 'test'


Не работает.
Код: sql
1.
SELECT @x WHERE (@x := 'test') = 'test'


Не работает.


Способа не существует ?
...
Рейтинг: 0 / 0
Передача информации из WHERE в SELECT
    #39971684
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Necrosss
Способа не существует ?

Через поздапрос:
Код: sql
1.
2.
3.
select x from 
   (SELECT 'test' AS x) as a 
WHERE x = 'test'


Как-то так.
Вообще sql - вещь строгая. В mysql, правда, есть некоторые поблажки.
...
Рейтинг: 0 / 0
Передача информации из WHERE в SELECT
    #39971698
Necrosss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И всё таки, как объясняется что от WHERE нельзя ипередать информацию в SELECT ? (с последовательностью вроде проблем нет..)
...
Рейтинг: 0 / 0
Передача информации из WHERE в SELECT
    #39971714
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Necrosss,

Объясняется это тем, что where выбирает из form, а про твои алиасы он ничего не знает и знать не должен. После select могут быть хоть формулы в 3 этажа, они вычисляться *после* того, как всё, что в from прошло условия отбора, а не *до* того, иначе пришлось бы вычислять всё, что есть в декартовом произведении всех таблиц, которые связываются.
Так что в SQL всё просто и логично, там хорошая математическая база и не надо её ломать и натягивать на глобус.
...
Рейтинг: 0 / 0
Передача информации из WHERE в SELECT
    #39971786
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Necrosss,

смысла не понял что надо передать и куда
но почему не сделать так
Код: sql
1.
where x=(select 1 from dual)
...
Рейтинг: 0 / 0
Передача информации из WHERE в SELECT
    #39971952
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov,

В mysql не нужен dual
...
Рейтинг: 0 / 0
Передача информации из WHERE в SELECT
    #39972250
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,

я указал общий смысл.
В MySQL много чего не требуется, но привыкать к этому не следует.
А следовать стандартам - это даже хорошо. и DUAL тоже в том числе.
Привыкли все к юзер-переменным - ать.... и в 8-ке и далее уже Бо-Бо
...
Рейтинг: 0 / 0
Передача информации из WHERE в SELECT
    #39972273
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov
А следовать стандартам - это даже хорошо. и DUAL тоже в том числе.
Эммм... а не затруднит уточнить, какой именно стандарт устанавливает обязательное использование DUAL при отсутствии фактического источника данных?
...
Рейтинг: 0 / 0
Передача информации из WHERE в SELECT
    #39972278
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov
А следовать стандартам - это даже хорошо. и DUAL тоже в том числе

Вот только где вы в стандарте нашли этот дурацкий dual? Чисто оракловый костыль.
...
Рейтинг: 0 / 0
Передача информации из WHERE в SELECT
    #39972315
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkij
Alex_Ustinov
А следовать стандартам - это даже хорошо. и DUAL тоже в том числе

Вот только где вы в стандарте нашли этот дурацкий dual? Чисто оракловый костыль.
А следовать стандартам - это даже хорошо. - первая часть
DUAL тоже в том числе - вторая
А почему дурацкий? Логическое завершение SELECT и все.
К чему эта демагогия?
...
Рейтинг: 0 / 0
Передача информации из WHERE в SELECT
    #39972366
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_Ustinov, кстати, да.
Не знаю, зачем ТС нужно WHERE, но конструкция типа SELECT 1 one FROM dual WHERE 'test' = (SELECT @a:='test') с FROM dual как-то сработает, а без него - нет.
...
Рейтинг: 0 / 0
Передача информации из WHERE в SELECT
    #39972503
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov
А следовать стандартам - это даже хорошо. и DUAL тоже в том числе.

А он будет там работать?
...
Рейтинг: 0 / 0
Передача информации из WHERE в SELECT
    #39972539
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,

конечно, на нашем веку все будет
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Передача информации из WHERE в SELECT
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]