|
|
|
как объединить две записи из одной таблицы
|
|||
|---|---|---|---|
|
#18+
Как объединить две записи из одной таблицы например, таблица test в нем - id_test id_student id_urok ball 1 350 6 15 2 350 7 11 3 351 6 12 4 351 7 16 и при запросе чтобы выглядела id_student id_urok[html] id_urok[php] 350 15 11 351 12 16 select student.id_student, name, surname, ball,id_urok from student, test, urok where student.id_student=test.id_student id имя фамилия балл урок_html урок_php // // //// // // // ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 21:30 |
|
||
|
как объединить две записи из одной таблицы
|
|||
|---|---|---|---|
|
#18+
А Вы форумом не ошиблись? Ответ на такой вопрос сильно зависит от используемой СУБД. В профильной ветке ответ сыщется быстрее Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 21:33 |
|
||
|
как объединить две записи из одной таблицы
|
|||
|---|---|---|---|
|
#18+
mySQL использую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 21:36 |
|
||
|
как объединить две записи из одной таблицы
|
|||
|---|---|---|---|
|
#18+
Senya_LА Вы форумом не ошиблись? Ответ на такой вопрос сильно зависит от используемой СУБД.Да вроде почти в любой можно так: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 21:42 |
|
||
|
как объединить две записи из одной таблицы
|
|||
|---|---|---|---|
|
#18+
miksoftДа вроде почти в любой можно так: А JOIN где Коллега.... Противоречие SQL-92 стандарту..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 21:45 |
|
||
|
как объединить две записи из одной таблицы
|
|||
|---|---|---|---|
|
#18+
> Автор: miksoft > Senya_L > А Вы форумом не ошиблись? Ответ на такой вопрос сильно зависит > от используемой СУБД. > Да вроде почти в любой можно так: > > SELECT t1.id_student, t1.ball ball1, t2.ball ball2 > FROM test t1, test t2 > WHERE t1.id_student=t2.id_student AND t1.id_urok=6 AND t2.id_urok=7 > Да и JOIN -совсем не экзотика :) Так-то оно так. Но неизвестно, стабильно ли идет такое чередование 6 и 7 или автор так просто примерные данные набил. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 21:47 |
|
||
|
как объединить две записи из одной таблицы
|
|||
|---|---|---|---|
|
#18+
Mr MarmeladmiksoftДа вроде почти в любой можно так: А JOIN где Коллега.... Противоречие SQL-92 стандарту.....а почему противоречие-то? разве формы без слова JOIN в стандарте нету? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 21:51 |
|
||
|
как объединить две записи из одной таблицы
|
|||
|---|---|---|---|
|
#18+
6 и 7 это отдельная таблица уроков 1- linux 2- wind 3 - visual basic... 6-html 7- php а 350,351.... - другая таблица студентов а ball - это только внутри таблицы теста от конкретного урока пренад. студенту например прошел тест студент 351 набрал от html - 15 баллов а от зрз 11 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 21:54 |
|
||
|
как объединить две записи из одной таблицы
|
|||
|---|---|---|---|
|
#18+
раньше структура таблицы ТЕСТА была другой id_test id_student windows html php date 1//////////350............10............. 15 .........11........02.02.02 SELECT student.id_student, name, windows, html, php, date FROM test, student,trener WHERE student.id_student = test.id_student Все студенты и их баллы по предметам ...[они предметы былы в столбце] и их стало больше, и создал другую таблицу Уроки и у каждого свой id_urok теперь при запросе select student.id_student, name, ball,id_urok from student, test, urok where student.id_student=test.id_student этот 350 - выводится столько раз столько и сдал экзамен, а нельзя чтобы итоги одного студента были в одной строке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 22:12 |
|
||
|
как объединить две записи из одной таблицы
|
|||
|---|---|---|---|
|
#18+
miksoftа почему противоречие-то? разве формы без слова JOIN в стандарте нету? Читаем стандард на стр 179....182 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 23:34 |
|
||
|
как объединить две записи из одной таблицы
|
|||
|---|---|---|---|
|
#18+
Mr Marmeladmiksoftа почему противоречие-то? разве формы без слова JOIN в стандарте нету? Читаем стандард на стр 179....182 Прочтите там же страницу 178. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2009, 23:52 |
|
||
|
как объединить две записи из одной таблицы
|
|||
|---|---|---|---|
|
#18+
Ваша задача удобно решается с помощью комбинации PL-SQL + Экспорт в XML ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 04:55 |
|
||
|
как объединить две записи из одной таблицы
|
|||
|---|---|---|---|
|
#18+
Dbms_output.put_line(‘<Table>’); Dbms_output.put_line(‘ <Row>’); For C1 in ( Select distinct id_urok From test Order by id_urok ) Loop Dbms_output.put_line(‘ <Cell ss:MergeAcross="1"><Data ss:Type="Number">’||id_student\id_urok ||’</Data></Cell>’); Dbms_output.put_line(‘ <Cell ss:Index="3"><Data ss:Type="Number">’||c1.id_urok||’</Data></Cell>’); End loop; Dbms_output.put_line(‘ </Row>’); Dbms_output.put_line(‘</Table>’); Dbms_output.put_line(‘<Table>’); For X in ( Select distinct id_student From test Order id_student ) Loop Dbms_output.put_line(‘ <Row>’); Dbms_output.put_line(‘ <Cell><Data ss:Type="string">’||x.id_urok||’</Data></Cell>’); For Y in ( Select id_student, id_urok, ball From test Order id_student, id_urok ) Loop if x.id_student==Y.id_student then begin Dbms_output.put_line(‘ <Cell ss:Index="’||to_number(Y.id_urok+2)||’"><Data ss:Type="Number">’||Y.ball||’</Data></Cell>’); end; End loop; Dbms_output.put_line(‘ </Row>’); End loop; Dbms_output.put_line(‘</Table>’); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 04:58 |
|
||
|
как объединить две записи из одной таблицы
|
|||
|---|---|---|---|
|
#18+
1) создаем батник select.bat с текстом : SQLPLUS.EXE -s user/pass@namebase @select.sql > result.xls 2)создаем в текущем каталоге файл select.sql : set heading off set pagesize 0 set sqlnumber off set feedback off set verify off set serveroutput on size 1000000 set linesize 250 set timing off -- ALTER SESSION SET NLS_NUMERIC_CHARACTERS = '.,' ; -- dbms_output.put_line(' <?xml version="1.0"?> <?mso-application progid="Excel.Sheet"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"> <Styles> <Style ss:ID="Default" ss:Name="Normal"> <Alignment ss:Vertical="Bottom"/> <Borders/> <Font x:CharSet="204"/> <Interior/> <NumberFormat/> <Protection/> </Style> </Styles> <Worksheet ss:Name="List01"> '); Dbms_output.put_line(‘<Table>’); Dbms_output.put_line(‘ <Row>’); For C1 in ( Select distinct id_urok From test Order by id_urok ) Loop Dbms_output.put_line(‘ <Cell ss:MergeAcross="1"><Data ss:Type="Number">’||id_student\id_urok ||’</Data></Cell>’); Dbms_output.put_line(‘ <Cell ss:Index="3"><Data ss:Type="Number">’||c1.id_urok||’</Data></Cell>’); End loop; Dbms_output.put_line(‘ </Row>’); Dbms_output.put_line(‘</Table>’); Dbms_output.put_line(‘<Table>’); For X in ( Select distinct id_student From test Order id_student ) Loop Dbms_output.put_line(‘ <Row>’); Dbms_output.put_line(‘ <Cell><Data ss:Type="string">’||x.id_urok||’</Data></Cell>’); For Y in ( Select id_student, id_urok, ball From test Order id_student, id_urok ) Loop if x.id_student==Y.id_student then begin Dbms_output.put_line(‘ <Cell ss:Index="’||to_number(Y.id_urok+2)||’"><Data ss:Type="Number">’||Y.ball||’</Data></Cell>’); end; End loop; Dbms_output.put_line(‘ </Row>’); End loop; Dbms_output.put_line(‘</Table>’); dbms_output.put_line(' </Worksheet> </Workbook> '); 3)запускаем батник 4) возможные проблемки с выполнением скрипта решаются перепрописанием одинарных кавычек [всех :)) ] sanyurik@mail.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 05:01 |
|
||
|
как объединить две записи из одной таблицы
|
|||
|---|---|---|---|
|
#18+
2 dba_Torino, Браво! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 08:41 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35854579&tid=1542929]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
154ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 297ms |
| total: | 535ms |

| 0 / 0 |
