Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
alexya
Member

Откуда:
Сообщений: 450
Существует два запроса
SELECT s.f, s.i, s.o, s.ids, i.itogc
FROM spec sp,lang l, varob v, Student AS s
LEFT OUTER JOIN Itoc as i ON s.ids = I.ids and i.idd='0010'
WHERE (s.idspec ='01') AND (s.idvo = 1) AND (s.idlang =1) AND (s.idg = '09')
and (s.idspec=sp.idspec) and (s.idvo=v.idvo) and (s.idlang=l.idlang)


SELECT r.idd, d.disc, r.CSel, r.kredit, r.ncsel
FROM Disc AS d INNER JOIN
Rup AS r ON d.idd = r.idd
WHERE (r.idsg = '17101091') AND (r.ikontr & 1 <> 0)

Первый выдает данные о студентах и их оценки по предмету, п/р idd которого равен 0010
Второй выдает список предметов группы студентов за 1 семестр

Как их связать чтобы получилась такая таблица:
ФИО из первой таблицы, Предмет1 (2 табл), кредит1 (2 табл), Оценка1 (из 1 табл), Предмет2 (2 табл), кредит2 (2 табл), Оценка2 (из 1 табл), Предмет3 (2 табл), кредит3 (2 табл), Оценка3 (из 1 табл), Предметn (2 табл), кредитn (2 табл), Оценкаn (из 1 табл)
16 сен 09, 06:40    [7664892]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
объеденить ваши 2 запроса
16 сен 09, 06:43    [7664894]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
alexya
Member

Откуда:
Сообщений: 450
Knyazev Alexey,
объединение таблиц возможно если данные из первой таблицы имеют такой же вид как данные из второй таблицы
16 сен 09, 06:46    [7664896]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
тогда предоставте тестовые данные которые вывордит ваш первый запрос и результат 2ого запроса,
а так же, что вы хотите получить на выходе, в противном случае гадать приходится
16 сен 09, 06:55    [7664899]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
alexya
Member

Откуда:
Сообщений: 450
Вот что получается:

К сообщению приложен файл. Размер - 0Kb
16 сен 09, 07:00    [7664902]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
alexya
Member

Откуда:
Сообщений: 450
Хочу получить
s.f, s.i, s.o, s.ids,r.idd, d.disc, r.CSel, r.kredit, r.ncsel, i.itogc
16 сен 09, 07:05    [7664903]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
каким образом связаны эти 2 набора!? где признак что эти оценки принадлежат конкретному человеку!?
16 сен 09, 07:27    [7664917]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
alexya
Member

Откуда:
Сообщений: 450
Knyazev Alexey,
r.idsg = '17101091' состоит из 17+(s.idvo = 1)+ (s.idspec ='01')+ (s.idg = '09')+(s.idlang =1)
16 сен 09, 07:29    [7664920]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
alexya
Member

Откуда:
Сообщений: 450
Признак что оценки принадлежат конкретному студенту
Student AS s
LEFT OUTER JOIN Itoc as i ON s.ids = I.ids
16 сен 09, 07:30    [7664921]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
В общем вот пример для размышления:

declare @t1 table (UserID int, UserName varchar(50))
insert into @t1
select 1, 'User1'
union all
select 2, 'User2'
union all
select 3, 'User3'

declare @t2 table (UserID int, Predmet varchar(50), ocenka int)
insert into @t2
select 1, 'Predmet1', 4
union all
select 1, 'Predmet2', 3
union all
select 1, 'Predmet3', 5
union all
select 2, 'Predmet1', 3
union all
select 2, 'Predmet2', 3
union all
select 2, 'Predmet3', 3
union all
select 3, 'Predmet1', 5
union all
select 3, 'Predmet2', 5
union all
select 3, 'Predmet3', 5

select * from
(
select t1.*, Predmet, Ocenka from @t1 t1 left join @t2 t2 on t1.UserID=t2.UserID
) t 
pivot
(max(ocenka) for Predmet in ([Predmet1], [Predmet2], [Predmet3]) ) pv
16 сен 09, 07:36    [7664926]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
alexya
Member

Откуда:
Сообщений: 450
что значит select 1, это вы так запрос назвали?
16 сен 09, 07:38    [7664928]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
alexya
что значит select 1, это вы так запрос назвали?


это я так тестовыми данными таблицы наполняю,
вы же не соизволили предоставить ваши данные,
хотя я с самого начала вас об этом просил
16 сен 09, 07:42    [7664931]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
alexya
Member

Откуда:
Сообщений: 450
А рисунко там данные они вам не подходят?
16 сен 09, 07:44    [7664936]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
alexya
А рисунко там данные они вам не подходят?


т.е. вы предлагаете мне сидеть и ручками с картинки перенабивать ваши данные?!

ЗЫ: цените чужое время, если хотите получить нужный вам ответ
16 сен 09, 07:46    [7664940]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
Knyazev Alexey
alexya
А рисунко там данные они вам не подходят?


т.е. вы предлагаете мне сидеть и ручками с картинки перенабивать ваши данные?!

ЗЫ: цените чужое время, если хотите получить нужный вам ответ


Пункт 6
16 сен 09, 07:48    [7664944]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
alexya
Member

Откуда:
Сообщений: 450
Извините я не совсем поняла)))) что вы имели под тестовыми данными

К сообщению приложен файл (structura.txt - 3Kb) cкачать
16 сен 09, 08:12    [7664972]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
Не вижу связи между человеком и его оценками
16 сен 09, 08:19    [7664986]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
alexya
Member

Откуда:
Сообщений: 450
В том то и заковырка связи между ними нет вообще
у человека есть Idspec. idvo. idg. idlang
а предметы выбираются по r.idsg = '17101091' который состоит из 17+s.idvo+ s.idspec + s.idg +s.idlang
16 сен 09, 08:22    [7664992]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
alexya
В том то и заковырка связи между ними нет вообще
у человека есть Idspec. idvo. idg. idlang
а предметы выбираются по r.idsg = '17101091' который состоит из 17+s.idvo+ s.idspec + s.idg +s.idlang


бред, оторвать бы руки тому, кто такую кашу нагородил,

но при этом никто не мешает вам парсить строку и делать связку по этим кускам,
как развернуть все предметы-я показал на примере, просто распарсите строку для связки и
будет вас счастье
16 сен 09, 08:25    [7664999]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
alexya
Member

Откуда:
Сообщений: 450
блин не туда написала в общем связь между человеком и его оценками осуществляется по ids есть такое поле и в студенте и в итоговой оценке по предмету
16 сен 09, 08:25    [7665001]     Ответить | Цитировать Сообщить модератору
 Re: Нужно составить запрос состоящий из данных 8-9 таблиц  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
alexya
блин не туда написала в общем связь между человеком и его оценками осуществляется по ids есть такое поле и в студенте и в итоговой оценке по предмету


и? в чём тогда проблема? я вам готовое решение привёл-подгоняйте под свои таблицы
16 сен 09, 08:30    [7665021]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить