Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Псевдонимы

576
28 июля 2003 года
Xpoft
22 / / 20.08.2000
MySQL. Запрос такой:
SELECT pro.id, SUM( tas.t_value ) AS sumtas, sumtas FROM projects pro
LEFT JOIN tasks tas ON pro.id = tas.id

Пишет что sumtas неизвестное поле. Как правильно превдонимы задать для колонки?

Заранее спасибо.
250
29 июля 2003 года
Joker
1.4K / / 20.02.2000
Цитата:
Originally posted by Xpoft
MySQL. Запрос такой:
SELECT pro.id, SUM( tas.t_value ) AS sumtas, sumtas FROM projects pro
LEFT JOIN tasks tas ON pro.id = tas.id

Пишет что sumtas неизвестное поле. Как правильно превдонимы задать для колонки?

Заранее спасибо.


SELECT pro.id, SUM( tas.t_value ) AS sumtas FROM projects pro
LEFT JOIN tasks tas ON pro.id = tas.id
Так думую все ок будет.

576
29 июля 2003 года
Xpoft
22 / / 20.08.2000
Нет. Ты невнимально прочитал.

SELECT pro.id, SUM( tas.t_value ) AS sumtas, sumtas FROM projects pro
LEFT JOIN tasks tas ON pro.id = tas.id

Поле выделенное жирным видим? Вот на него жалуется.
250
30 июля 2003 года
Joker
1.4K / / 20.02.2000
Цитата:
Originally posted by Xpoft
Нет. Ты невнимально прочитал.

SELECT pro.id, SUM( tas.t_value ) AS sumtas, sumtas FROM projects pro
LEFT JOIN tasks tas ON pro.id = tas.id

Поле выделенное жирным видим? Вот на него жалуется.


А почему бы ему на него не жаловаться ? Разве такое поле( sumtas ) у тебя есть.. ? Когда ты сделал вот эту операцию: SUM( tas.t_value ) AS sumtas ты уже сформировал и выбрал его.

576
30 июля 2003 года
Xpoft
22 / / 20.08.2000
Разве SUM( tas.t_value ) AS sumtas это не выборка сумма + алиас?
Я же могу его использовать в ORDER BY,
почему я не могу его использовать в другом месте?
Например, пройдёт:
SELECT pro.id, SUM( tas.t_value ), SUM( tas.t_value ) FROM projects pro
LEFT JOIN tasks tas ON pro.id = tas.id
и пройдёт
SELECT pro.id, SUM( tas.t_value ) AS sumtas FROM projects pro
LEFT JOIN tasks tas ON pro.id = tas.id ORDER BY sumtas
250
30 июля 2003 года
Joker
1.4K / / 20.02.2000
Цитата:
Originally posted by Xpoft
Разве SUM( tas.t_value ) AS sumtas это не выборка сумма + алиас?
Я же могу его использовать в ORDER BY,
почему я не могу его использовать в другом месте?
Например, пройдёт:
SELECT pro.id, SUM( tas.t_value ), SUM( tas.t_value ) FROM projects pro
LEFT JOIN tasks tas ON pro.id = tas.id
и пройдёт
SELECT pro.id, SUM( tas.t_value ) AS sumtas FROM projects pro
LEFT JOIN tasks tas ON pro.id = tas.id ORDER BY sumtas


Помоему все логично, ты какую цель приследовал сделав так:
SELECT pro.id, SUM( tas.t_value ) AS sumtas, sumtas
и чем потвоему это отличается от этого:
SELECT pro.id, SUM( tas.t_value ) AS sumtas

576
30 июля 2003 года
Xpoft
22 / / 20.08.2000
Алиас мне нужен для дальнейших операций в этом запросе, чтобы не писать заново. Это был тестовый пример - на самом делал запрос намного больше, и алиас будет использовать примерно так:
SELECT col1, SUM(col2) as sumcol, SUM(col3) ad sumcol2 IF ( sumcol-col1>0, sumcol2, col1) FROM table ...
250
30 июля 2003 года
Joker
1.4K / / 20.02.2000
Цитата:
Originally posted by Xpoft
Алиас мне нужен для дальнейших операций в этом запросе, чтобы не писать заново. Это был тестовый пример - на самом делал запрос намного больше, и алиас будет использовать примерно так:
SELECT col1, SUM(col2) as sumcol, SUM(col3) ad sumcol2 IF ( sumcol-col1>0, sumcol2, col1) FROM table ...


А что это за конструкция такая интересная замени if на where и все будет, ок..

576
30 июля 2003 года
Xpoft
22 / / 20.08.2000
Цитата:
Originally posted by Joker

А что это за конструкция такая интересная замени if на where и все будет, ок..


Нет, конструкция там большая (не то что в примере). И IF используется для отображения разных значених колонки, при различных ситуациях. Меня сейчас больше интересует - можно ли в запросе между SELECT и FROM использовать алиасы, и как.

250
30 июля 2003 года
Joker
1.4K / / 20.02.2000
Цитата:
Originally posted by Xpoft

Нет, конструкция там большая (не то что в примере). И IF используется для отображения разных значених колонки, при различных ситуациях. Меня сейчас больше интересует - можно ли в запросе между SELECT и FROM использовать алиасы, и как.


я не понимаю, что вы хотити, а вы что то темните
Вы и так ее используете когда определяете.

576
30 июля 2003 года
Xpoft
22 / / 20.08.2000
Цитата:
Originally posted by Joker

я не понимаю, что вы хотити, а вы что то темните
Вы и так ее используете когда определяете.


Ничего я не темню. Если вернуть в начало разговора и внимательно прочитать первый пост - то там было написано, что выдаётся ошибка, поле sumtas не найдено. Мне нужно заальясить несколько полей и обращаться к ним по алиасу.
Elementary example:
SELECT t.col1 AS col, t.col2, col*t.col2 FROM table t
Ну куда проще-то, а? Поле col в третем поле даст ошибку. а если написать t.col1*t.col2 то будет всё нормально.

Если нельзя использовать алиасы между SELECT и FROM - то так мне и напишите - "Нельзя", если можно, то так и напишите -"Можно, и это делается вот так...", если не сталкивались - "Не сталкивался"

283
31 июля 2003 года
Alone
910 / / 20.11.2002
а вы не хотите перейти к локальным переменным?

пример с сайта mysql.com

SELECT (@aa:=id) AS a, (@aa+3) AS b FROM table_name
250
01 августа 2003 года
Joker
1.4K / / 20.02.2000
Цитата:
Originally posted by Xpoft

Ничего я не темню. Если вернуть в начало разговора и внимательно прочитать первый пост - то там было написано, что выдаётся ошибка, поле sumtas не найдено. Мне нужно заальясить несколько полей и обращаться к ним по алиасу.
Elementary example:
SELECT t.col1 AS col, t.col2, col*t.col2 FROM table t
Ну куда проще-то, а? Поле col в третем поле даст ошибку. а если написать t.col1*t.col2 то будет всё нормально.

Если нельзя использовать алиасы между SELECT и FROM - то так мне и напишите - "Нельзя", если можно, то так и напишите -"Можно, и это делается вот так...", если не сталкивались - "Не сталкивался"



ЧЕтаю, одну книжку mssql2000 для начинающих правдо, но вот помнится там вообще говорили что эти пзевданимы как бы ля пользователя чтобы когда ты ему поля вывел, у них названия в заголовки были человечиские.
А если говорить конкретно то думаю: Нельзя"

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог