| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > СУБД, общие вопросы > перекрестный запрос на SQL |
| Автор: Tark 26.12.2002, 09:34 |
| у меня есть таблицы Student c полями Name, Code и др. Tests c полями Mark, Name,test_student_code и др. они связаны Students.student_code = Tests.test_student_code ?????? можно ли в SQL запросе из Delphi (BDE, парадоксовcкие таблицы) сделать перекрестный запрос типа: заголовки строк - имена студентов заголовки столбцов - названия тестов в таблице - оценки по соотв. тесту если да, подскажите как или другой способ сделать такой перекрестный запрос В Access я в конструкторе делаю его и получаю в SQL: TRANSFORM Avg(Tests.test_mark) AS [Avg-test_mark] SELECT Students.student_name FROM Tasks INNER JOIN (Students INNER JOIN Tests ON Students.student_code = Tests.test_student_code) ON Tasks.task_code = Tests.test_task_code GROUP BY Students.student_name PIVOT Tasks.task_name; когда я его переношу в дельф, он пишет Invalid use of keyword.(AS) код ошибки 12289 [$30] [$ 1] и если меняю первую строку на TRANSFORM AVG(Tests.test_mark) то пишет Capability not supported. код ошибки 10770 [$2A] [$12] ??????? кста, что это за значения в скобках? где можно найти описание ошибок? поддерживается ли в SQL-92 TRANSFORM/PIVOT? |
| Автор: Medved 26.12.2002, 10:10 |
| Насколько я знаю, конструкция TRANSFORM/PIVOT к сожалению не поддерживаются.... самый простой способ, сделать через временные таблицы...
|
| Автор: Oleg 28.12.2002, 18:02 |
| Я сам два месяца искал ответ на этот вопрос, можно написать запрос размером на страничку(!), но в делфях намного проще использовать Desicion Cube, он для этого и предназначен. Так что читайте теперь матчасть. Однако если есть желание помучиться... OSP_RUИздательство Открытые СистемыИТ-изданияWindows 2000 MagazineSQL Server MagazineМастерство разработкиДинамические перекрестные запросы.htm |