powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с запросом..
10 сообщений из 10, страница 1 из 1
Помогите пожалуйста с запросом..
    #39645216
rossss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть вот такой вот запрос, но он не полный...
Код: plsql
1.
2.
3.
4.
5.
6.
7.
select * from 
(select title, k_st,student, date_lesson, attendance from
(select title, k_st,(TRIM(stfam) || ' ' || TRIM(stname) || ' ' || TRIM(stot)) student, date_lesson, attendance
from st_ank1 st, sp_physical_group phy, journal jj 
where phy.id=st.physical_id and jj.id_student=st.k_st) rr)
pivot (sum(attendance) for date_lesson in ('26.02.2018','05.03.2018')) 
order by k_st;



выводит он так...

группа код-студента ФИО дата1дата2ОСНОВНАЯ 1000 МАРЬИНА УЛЬЯНА ТРОФИМОВНА 0 1ОСНОВНАЯ 1001 БЕЛЕВИЧ НАЗАР КОНДРАТИЕВИЧ 1 1ОСНОВНАЯ 1002 БЫЧКОВА СОФЬЯ ЯНОВНА 1 1

а хочу чтоб так

группа код-студента ФИО дата1дата1дата2дата2...ОСНОВНАЯ 1000 МАРЬИНА УЛЬЯНА ТРОФИМОВНА 0(attendence)80(ball) 0(attendence)80(ball)ОСНОВНАЯ 1001 БЕЛЕВИЧ НАЗАР КОНДРАТИЕВИЧ 1(attendence)70(ball) 0(attendence)90(ball)ОСНОВНАЯ 1002 БЫЧКОВА СОФЬЯ ЯНОВНА 0(attendence)80(ball) 0(attendence)80(ball)
то что в скобках это названия столбцов в journal а в таблице должны быть значения
даты должны браться из таблицы
journal
id_student date_lesson ballattendence1000date18001001date17011000date28001001date2900
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом..
    #39645235
Фотография Fogel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как это вяжется?

группа код-студента ФИО дата1дата2ОСНОВНАЯ 1002 БЫЧКОВА СОФЬЯ ЯНОВНА 1 1
группа код-студента ФИО дата2дата2ОСНОВНАЯ 1002 БЫЧКОВА СОФЬЯ ЯНОВНА 0(attendence)80(ball)
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом..
    #39645241
rossss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fogel,
данные рандомно поставлены
мне важна именно структура
чтобы столбцы повторялись дважды, но при этом у них должно быть разное содержимое(группировка по двум разным столбцам из journal)
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом..
    #39645247
Фотография Fogel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
коли данные рандомно поставлены, тадысь и решение абы какое...
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом..
    #39645322
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rossss,

Бредовое желание, на уровне запроса к БД.

Если набор дат детерминирован - pivot, если нет - проще на клиенте решать вопрос отображения.
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом..
    #39645362
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rossss,

Если вопрос подразумевает ответом - селект, приводите, пожалуйста, тестовые данные в формате with и четко формулируйте что Вам надо.
Глянув в хрустальный шар предположил что Вы хотите pivot по двум полям
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
with journal (id_student, date_lesson, ball, attendence) as (
                   select 1000,	to_date('05.03.18','dd.mm.rr'), 80,	0 from dual union all
                   select 1001,	to_date('05.03.18','dd.mm.rr'), 70,	1 from dual union all
                   select 1000,	to_date('26.02.18','dd.mm.rr'), 80,	0 from dual union all
                   select 1001,	to_date('26.02.18','dd.mm.rr'), 90,	0 from dual
                  )
select * from (
select j.id_student, j.date_lesson, j.attendence, j.ball from journal j
)
pivot(
sum(attendence) as at, sum(ball) as ba 
for date_lesson in (to_date('26.02.18','dd.mm.rr') as "date1",to_date('05.03.18','dd.mm.rr') as "date2")
)
order by 1


ID_STUDENT date1_AT date1_BA date2_AT date2_BA
1000	   0	    80       0        80
1001	   0	    90       1        70
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом..
    #39645639
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximaXXL,


rossssдаты должны браться из таблицы
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом..
    #39645738
rossss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня есть таблицы
студентыst_id last_name first_name middle_name k_state group_id physical_id1000АААА ААА АА 1 1 11001ББББ БББ ББ 3 2 3

journalst_id date_lesson value_norm attandance100014.02.18 80 1100114.02.18 70 1100015.02.18 80 1100115.02.18 70 1............

мне необходимо создать view
в которой даты будут столбцами из journal

viewst_id FIO date1 date1 date2 date21000 АААА ААА АА 80 1 8011001ББББ БББ ББ 70 1 701

у меня дат будет много + в клиентском приложении их можно и нужно будет добавлять
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом..
    #39645800
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rossssу меня есть таблицы
.......
мне необходимо создать view
в которой даты будут столбцами из journal

......
у меня дат будет много + в клиентском приложении их можно и нужно будет добавлять

Внемли! Золотые слова.

envrossss,

Бредовое желание, на уровне запроса к БД.

Если набор дат детерминирован - pivot, если нет - проще на клиенте решать вопрос отображения.



P.S. и не превращай реляционные базы данных в эксель таблицы, хотя даже там не удобно работать когда много столбцов. Так и хочется задать вопрос: - А Вам зачем, столь убогое хранение данных?
Там даже по строке сумму не посчитать, т.к. смысловые данные перемешаны.
Если столбцов будет более 10 они еще и поплывут визуально, тогда надо доп. красить ячейки с разными смысловыми нагрузками и датами ... если в одном отчете более 3 цветов - это размазня.
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом..
    #39645938
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rossssу меня дат будет много + в клиентском приложении их можно и нужно будет добавлять

ответ есть в FAQ (популярных) / Elic-a отбывает срок, ссылки некому дать /

как минимум три варианта
0) на клиенте (шахматка)
1) динамический sql
2) xml

.....
stax
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с запросом..
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]