Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Select t. что значит?  [new]
Антон Соловьев2
Member

Откуда:
Сообщений: 9
здраствуйте. вот есть запрос:
Select [b]t.[/b][Наименование предмета], avg (t.Оценка/1.0) as [Средняя балл по предмету]
from
(
select [Наименование предмета],[Код студента], [Оценка 1] as [Оценка] 
from Оценки inner join Предметы
on
Оценки.[Код предмета 1]=Предметы.[Код предмета]
Where Оценки.[Код предмета 1] = [Код предмета]

union
select [Наименование предмета],[Код студента], [Оценка 2] as [Оценка] 
from Оценки inner join Предметы
on
Оценки.[Код предмета 2]=Предметы.[Код предмета]
Where Оценки.[Код предмета 2] = [Код предмета]

union
select [Наименование предмета],[Код студента], [Оценка 3] as [Оценка] 
from Оценки inner join Предметы
on
Оценки.[Код предмета 3]=Предметы.[Код предмета]
Where Оценки.[Код предмета 3] = [Код предмета]
)
as [b]t[/b]

Group by [b]t.[/b][Наименование предмета]

вот что значит t.
это что-то вроде временной таблицы или что?
29 май 11, 21:31    [10728026]     Ответить | Цитировать Сообщить модератору
 Re: Select t. что значит?  [new]
iljy
Member

Откуда:
Сообщений: 8711
Антон Соловьев2,

http://msdn.microsoft.com/en-us/library/ms176104.aspx
table alias
29 май 11, 21:34    [10728033]     Ответить | Цитировать Сообщить модератору
 Re: Select t. что значит?  [new]
Антон Соловьев2
Member

Откуда:
Сообщений: 9
т.е. это стандартный алиас? а вот что сделать чтобы сменить его??
29 май 11, 21:49    [10728084]     Ответить | Цитировать Сообщить модератору
 Re: Select t. что значит?  [new]
step_ks
Member

Откуда:
Сообщений: 936
Заменить в любом текстовом редакторе все вхождения "t" на то, что вам нравится.
29 май 11, 22:02    [10728131]     Ответить | Цитировать Сообщить модератору
 Re: Select t. что значит?  [new]
Антон Соловьев2
Member

Откуда:
Сообщений: 9
ну вот я заменял и выполнял запрос и у меня выдавало ошибки. что типа таких таблиц нет(заменял t на a)
создание псевдонима как я понял после from написано? from () as t - вот это как я понял?
29 май 11, 22:21    [10728187]     Ответить | Цитировать Сообщить модератору
 Re: Select t. что значит?  [new]
qwerty112
Guest
Антон Соловьев2
ну вот я заменял и выполнял запрос и у меня выдавало ошибки. что типа таких таблиц нет(заменял t на a)
создание псевдонима как я понял после from написано? from () as t - вот это как я понял?

ты бы вместо "как я понял", показал бы "как я сделал",
услышал бы причину неработанья, и шел делать уроки дальше ...
29 май 11, 22:31    [10728226]     Ответить | Цитировать Сообщить модератору
 Re: Select t. что значит?  [new]
Антон Соловьев2
Member

Откуда:
Сообщений: 9
qwerty112
Антон Соловьев2
ну вот я заменял и выполнял запрос и у меня выдавало ошибки. что типа таких таблиц нет(заменял t на a)
создание псевдонима как я понял после from написано? from () as t - вот это как я понял?

ты бы вместо "как я понял", показал бы "как я сделал",
услышал бы причину неработанья, и шел делать уроки дальше ...


Select [b]a.[/b][Наименование предмета], avg (t.Оценка/1.0) as [Средняя балл по предмету]
from
(
select [Наименование предмета],[Код студента], [Оценка 1] as [Оценка] 
from Оценки inner join Предметы
on
Оценки.[Код предмета 1]=Предметы.[Код предмета]
Where Оценки.[Код предмета 1] = [Код предмета]

union
select [Наименование предмета],[Код студента], [Оценка 2] as [Оценка] 
from Оценки inner join Предметы
on
Оценки.[Код предмета 2]=Предметы.[Код предмета]
Where Оценки.[Код предмета 2] = [Код предмета]

union
select [Наименование предмета],[Код студента], [Оценка 3] as [Оценка] 
from Оценки inner join Предметы
on
Оценки.[Код предмета 3]=Предметы.[Код предмета]
Where Оценки.[Код предмета 3] = [Код предмета]
)
as [b]a[/b]

Group by [b]a.[/b][Наименование предмета]
вот так. как сам сказал
29 май 11, 22:50    [10728280]     Ответить | Цитировать Сообщить модератору
 Re: Select t. что значит?  [new]
qwerty112
Guest
Антон Соловьев2
qwerty112
пропущено...

ты бы вместо "как я понял", показал бы "как я сделал",
услышал бы причину неработанья, и шел делать уроки дальше ...


Select [b]a.[/b][Наименование предмета], avg (t.Оценка/1.0) as [Средняя балл по предмету]
from
(
select [Наименование предмета],[Код студента], [Оценка 1] as [Оценка] 
from Оценки inner join Предметы
on
Оценки.[Код предмета 1]=Предметы.[Код предмета]
Where Оценки.[Код предмета 1] = [Код предмета]

union
select [Наименование предмета],[Код студента], [Оценка 2] as [Оценка] 
from Оценки inner join Предметы
on
Оценки.[Код предмета 2]=Предметы.[Код предмета]
Where Оценки.[Код предмета 2] = [Код предмета]

union
select [Наименование предмета],[Код студента], [Оценка 3] as [Оценка] 
from Оценки inner join Предметы
on
Оценки.[Код предмета 3]=Предметы.[Код предмета]
Where Оценки.[Код предмета 3] = [Код предмета]
)
as [b]a[/b]

Group by [b]a.[/b][Наименование предмета]
вот так. как сам сказал
29 май 11, 22:53    [10728289]     Ответить | Цитировать Сообщить модератору
 Re: Select t. что значит?  [new]
Антон Соловьев2
Member

Откуда:
Сообщений: 9
qwerty112
Антон Соловьев2
пропущено...


Select [b]a.[/b][Наименование предмета], avg (t.Оценка/1.0) as [Средняя балл по предмету]
from
(
select [Наименование предмета],[Код студента], [Оценка 1] as [Оценка] 
from Оценки inner join Предметы
on
Оценки.[Код предмета 1]=Предметы.[Код предмета]
Where Оценки.[Код предмета 1] = [Код предмета]

union
select [Наименование предмета],[Код студента], [Оценка 2] as [Оценка] 
from Оценки inner join Предметы
on
Оценки.[Код предмета 2]=Предметы.[Код предмета]
Where Оценки.[Код предмета 2] = [Код предмета]

union
select [Наименование предмета],[Код студента], [Оценка 3] as [Оценка] 
from Оценки inner join Предметы
on
Оценки.[Код предмета 3]=Предметы.[Код предмета]
Where Оценки.[Код предмета 3] = [Код предмета]
)
as [b]a[/b]

Group by [b]a.[/b][Наименование предмета]
вот так. как сам сказал


а блин)) спасибо большое. ну в общем что-то понял. изучаю просто sql всего 4 дня)))
29 май 11, 23:04    [10728321]     Ответить | Цитировать Сообщить модератору
 Re: Select t. что значит?  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
Антон Соловьев2,

возьмите за правило ВСЕГДА для ВСЕХ таблиц задавать алиасы.
Кроме того, у ВСЕХ полей указывайте алиасы таблиц.
Это исключит массу ошибок, сделает текст короче и понятней.
30 май 11, 09:26    [10729342]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить