ФорумРазработкаБазы данных → Не находит поле, заданное через AS в WHERE

Не находит поле, заданное через AS в WHERE

  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 14 ноября 2010 г. 3:36

    Есть запрос:

    SELECT balance, reserved, 
    (balance - reserved) AS equity

    FROM (users)

    WHERE equity > 0


    Получаю ошибку [Err] 1054 - Unknown column 'equity' in 'where clause'. Что не так?
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 14 ноября 2010 г. 3:54, спустя 17 минут 52 секунды

    все так, так и должно быть. Одно их решений: обернуть в еще один select
    Спустя 91 сек.
    http://www.mysql.ru/docs/man/Problems_with_alias.html
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 14 ноября 2010 г. 3:59, спустя 5 минут 36 секунд

    спасибо, не знал
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 14 ноября 2010 г. 4:41, спустя 41 минуту 11 секунд

    SELECT balance, reserved,
    (balance - reserved) AS equity
    FROM (users)
    WHERE (balance - reserved) > 0
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 15 ноября 2010 г. 4:59, спустя 1 день 18 минут

    WHERE balance > reserved ? :)
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 15 ноября 2010 г. 5:36, спустя 36 минут 39 секунд

    Есть подозрение, что такой запрос не сможет использовать индексы.
    Так что я бы эту разность подсчитал при занесении данных.
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 15 ноября 2010 г. 7:22, спустя 1 час 46 минут 11 секунд

    AlexB, да, так и надо
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 15 ноября 2010 г. 7:27, спустя 4 минуты 40 секунд


    Есть подозрение, что такой запрос не сможет использовать индексы.
    Так что я бы эту разность подсчитал при занесении данных.
    будет кажется, ну тут правда надо тестировать))) в теории мускуль непонять :D
    Сапожник без сапог
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 15 ноября 2010 г. 8:03, спустя 36 минут 25 секунд

    Я проверил - не использует! ))) Собственно и не должен …
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 15 ноября 2010 г. 8:07, спустя 3 минуты 49 секунд


    Я проверил - не использует! ))) Собственно и не должен …
    умом мускуль не понять …
    Сапожник без сапог
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 15 ноября 2010 г. 14:09, спустя 6 часов 2 минуты 9 секунд

    phpdude, хули умом логично же всё!?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 15 ноября 2010 г. 14:12, спустя 2 минуты 31 секунду


    phpdude, хули умом логично же всё!?
    прости, я всего лишь дурак, куда нам до вас, гениев проектировки и использования субд!
    Сапожник без сапог
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 15 ноября 2010 г. 14:28, спустя 16 минут 10 секунд

    phpdude, тю, та причём тут, просто я думаю если бы непонятно было можно ли создать индекс (balance - reserved), тогда - хуё его знает, а если его нельзя создать, то чё мускуль будет его делать на лету или как - да он заебёться…
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 5 января 2011 г. 9:27, спустя 50 дней 18 часов 59 минут


    SELECT balance, reserved, (balance - reserved) AS equity
    FROM users
    HAVING equity > 0
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 5 января 2011 г. 11:30, спустя 2 часа 2 минуты 30 секунд

    Кошмарный запрос …

Пожалуйста, авторизуйтесь, чтобы написать комментарий!