В каком порядке mysql обрабатывает данные после SELECT до FROM

Эдди

Новичок
Есть запрос и есть дополнительное условие для запроса на php
привожу очень упрощенно:

Доп. условие (стоит до запроса):
$cond=' , price*2 AS price ';

Запрос:
SELECT
price,
...
...
$cond
FROM и так далее... ... ...

Такие выкрутасы нужны, потому что иногда условие $cond вообще пустое,
и надо брать price непосредственно из БД.
А иногда нужно, к примеру, это значение умножить на два (что определяется выше расположенными скриптами.

Экспериментировал раз 25.
До сих пор второе значение полностью затирало первое.
То есть выводилось значение, умноженное на 2. Мне это и надо.

Но всегда ли так будет? Скрипт довольно сложный. Потом искать глюки будет практически невозможно.
Мускл ведь хитрым образом оптимизирует запросы?

Кажется, объяснил нормально.

Спасибо.
 

Эдди

Новичок
и что надо сделать, чтобы не затирало?
Так что надо сделать, чтобы всегда затирало последующее по тексту предыдущее по тексту?
Если есть лекарство, пожалуйста, подскажи.

Синонимы, вроде, не подойдут. Усложнят скрипт. Не хотелось бы.
 

Hello

Новичок
Есть запрос и есть дополнительное условие для запроса на php
привожу очень упрощенно:

Доп. условие (стоит до запроса):
$cond=' , price*2 AS price ';

Запрос:
SELECT
price,
...
...
$cond
FROM и так далее... ... ...

Такие выкрутасы нужны, потому что иногда условие $cond вообще пустое,
и надо брать price непосредственно из БД.
А иногда нужно, к примеру, это значение умножить на два (что определяется выше расположенными скриптами.

Экспериментировал раз 25.
До сих пор второе значение полностью затирало первое.
То есть выводилось значение, умноженное на 2. Мне это и надо.

Но всегда ли так будет? Скрипт довольно сложный. Потом искать глюки будет практически невозможно.
Мускл ведь хитрым образом оптимизирует запросы?

Кажется, объяснил нормально.

Спасибо.
Затирает не mysql, а php, т.к. в объекте\массиве получаются свойства\ключи с одинаковым именем
 

Эдди

Новичок
Затирает не mysql, а php, т.к. в объекте\массиве получаются свойства\ключи с одинаковым именем
Слушай, Hello. Лично мне похрену, что затирает. Мне нужно, чтобы затирало.
А не потом, когда скрипт будет работать в режиме предприятия, не было бы сюрпризов.

Фанат тоже, лет эдак 5 говорил что-то вроде: "Работает и работает, оставь в покое".
А я не могу оставить в покое, потому что когда пишешь скрипт, ты его знаешь.
Когда написал и уехал на Мальдивы, потом разбираться - охренеть.

А на вопрос никто и не ответил.
ВСЕГДА БУДЕТ ЗАТИРАТЬ (что требуется) ИЛИ МУСКЛЬ МОЖЕТ ПЕРЕДУМАТЬ.

Плиз. Жду конкретного ответа.

Спасибо
 

Эдди

Новичок
Люди. Давайте еще скажем, что я не по теме написал.
Я здесь не первый год.
Ну да, еще Сократ говорил, что отвечать не будет, а задаст наводящие вопрос.
Что-то я вопроса не увидел.
 

WMix

герр M:)ller
Партнер клуба
вообще существуют QueryBuilders которыми я советую воспользоваться, преимущество как раз в том что последовательность комманд не важна, поля и команды меняются и удаляются, буквально все что хочешь. в последнюю секунду перед отдачей в базу говоришь $sql->assemble() и получаешь готовый запрос!
 

Эдди

Новичок
вообще существуют QueryBuilders которыми я советую воспользоваться, преимущество как раз в том что последовательность комманд не важна, поля и команды меняются и удаляются, буквально все что хочешь. в последнюю секунду перед отдачей в базу говоришь $sql->assemble() и получаешь готовый запрос!
Ну так у меня пока все пучком. В дальшейшем будет кркл?
 

Эдди

Новичок
Мюллер. Я все ручками делаю jQuery тоже использую, но только когда надо.
 

AnrDaemon

Продвинутый новичок
Ответа не было.
Могу задать наводящий вопрос - ты дурак?
Тебе сказали, что ты сам построил свой запрос так, как он у тебя работает.
Если тебе надо, чтобы запрос работал иначе, надо менять запрос. Даже подсказали, как именно.
 

fixxxer

К.О.
Партнер клуба
Ответа не было.
Повторяю второй раз и помедленнее: mysql отдает оба.
Код:
> select 'first' as test, 'second' as test, 'and once more for real slowpokes' as test;
+-------+--------+----------------------------------+
| test  | test   | test                             |
+-------+--------+----------------------------------+
| first | second | and once more for real slowpokes |
+-------+--------+----------------------------------+
"Передумать", как ты выражаешься, может php. Но это вряд ли, там внутри обычные hashtables - те самые, которые у тебя в array().
 

Эдди

Новичок
Повторяю второй раз и помедленнее: mysql отдает оба.
Код:
> select 'first' as test, 'second' as test, 'and once more for real slowpokes' as test;
+-------+--------+----------------------------------+
| test  | test   | test                             |
+-------+--------+----------------------------------+
| first | second | and once more for real slowpokes |
+-------+--------+----------------------------------+
"Передумать", как ты выражаешься, может php. Но это вряд ли, там внутри обычные hashtables - те самые, которые у тебя в array().
 

Эдди

Новичок
Для тугоумных дураков, как кто-то сказал.
В итоге второе затирает первое (не в этом вопрос) ВСЕГДА*???????????????????????????
 
Сверху