Объединение нескольких таблиц в одну (по определенному параметру)

Тема в разделе "Delphi - Базы данных", создана пользователем iona, 18 июн 2009.

  1. iona

    iona Гость

    Привет всем. Есть база данных на Access связанная в делфи через ADOConnection (ADOTable, DataSource, DBGrid). В акцесе есть таблицы 1 курс, 2 курс, 3 курс, 4 курс с полями
    [ Предмет | Часы | Группа | Кафедра | Специальности ]
    Поля кафедры и специальности связаны с другими отдельными таблицами (Кафедры, Специальности) по полям id_specialnosti и id_kafedri.

    Возможно ли вывести отдельную таблицу, выбрав определенную кафедру (раскрывающийся список, например DBLookupComboBox связанный с таблицой кафедр), что бы выводились все группы с часами и предметам относящиеся к этой кафедре, и затем выводилась сумма по предметам.

    [Предмет | Группа 1 | Группа 2 | Всего ]

    1.JPG :)
     
  2. SNike

    SNike Гость

    Использовать SQL-запрос
     
  3. iona

    iona Гость

    Хм, ну если бы я знала SQL, то тогда бы и не просила тут помощи... Хнык.. Вся загвоздка в том что мм... былоб проще если просто вывести нужные данные, тогда бы было:
    Код:
    Код (Text):
    SELECT id_predmeti, id_specialnost, id_grupp, [1 курс], [2 курс], [3 курс], [4 курс]
    FROM [Учебный план]
    where id_specialnost=:specialnost
    Это запрос с учебного плана... он делается по специальности.... и шапка у него не меняется... поля такие:
    [Предмет | 1 курс | 2 курс| 3 курс | 4 курс ].

    А так, необходимо что бы группы, каким то образом очутиличь в шапке... я хз как (((((( Хнык...

    Получается, как вы и сказали с помощью запроса выбираю нужные данные, но как построить такого рода таблицу..(см. рис. Таблица : Смета часов).. что бы группы записывались в шапку... Такое можно воплотить????
     
  4. etc

    etc Гость

    А почитать? не?
     
  5. iona

    iona Гость

    Да читала уже... много чего перечитала, так и не нашла что нужно, и так сутками не сплю, сроки поджимают.... Для чего тогда созданы форумы, разве не для того что бы напрвить человека на "Путь истинный" :) ... По крайне мере для меня, если я уж и обратилась на форум, то эт уже крик о помощи, т.к. привыкла обходится простой литературой. Заметьте, я не прошу написать за себя программу, мне просто надо понять в каком виде должен происходить запрос, что бы поля в одной таблице, стали шапкой другой, в данном случаи, при выборе кафедры, выводилась таблица такого рода:
    Код (Text):
    [Предмет   |  ПОВТ -2    |   ИС-4  ]
    [ Математика  |   20      |            ] 
    [ ОС        |          |  15    ]
    Где ПОВТ2 - взято из таблици с первыми курсами, а ИС-4 со вторыми курсами, так как была выбрана кафедра Информ. и матем.

    Воть. :ph34r:
     
  6. etc

    etc Гость

    Transform
     
  7. iona

    iona Гость

    Мдя, все такие умные, куда бы деться, а как подсказать что то, все куды то срочно деются!!!! из 7 формумов, только на 2-х нашлись нормальные люди, и не начали писать "А почитать? и тд!!!" подсказали хотя бы откуда плясать надо. Так как я SQL незнаю, но пытаюсь понять, я незнала какие у него есть возможности, да и как все это называется, и вообще ЧТО ИСКАТЬ не знала.... Вся эта белебердень осуществляется как оказалось с помощью TRANSFORM - PIVOT, т.е. перекрестные запросы. Вот терь буду разбирать! Всем спасибо - отдельное "etc'у" - за неоценимую поддержку!!!!
    Можно закрывать тему!!! Так как я смотрю тут сидять только нуу оооооочень умные люди, которых заподло написать что то по делу, только разбрасываться громкими словами умеют!!!!
    Извените если кому досадила, только мне тоже обидно, когда так обращаются, тем более сейчас, когда реально поджимают сроки, и ищешь выход где только можно!!!!!!!!

    Пока строчила жалобные крики, у Etca проснулась совесть. Я рада что еще не все потеряно.
     
  8. etc

    etc Гость

    iona Да не расстраивайтесь вы так. А при работе с базами SQL надо знать обязательно, иначе ничего не будет.
    TRANSFORM - PIVOT - достаточно специфическая и не совсем простая тема, не мудрено что не все это знают и понимают.
    Мы в своей практике, тоже стараемся от такого уйти, еще на стадии проектирования.
    Легче сделать это в программе кодом. :)
     
  9. iona

    iona Гость

    Угу "в программе кодом" мне вообще делфи заявил что ему памяти не хватает... )))))) Дописалась называется... А с выводом я разобралась.. терь вот незнаю как правильно поставить условие, что бы при выборе в дблуккомбобоке специальности - в таблице отображались данные только по этому выбору. Т.к. в скл не сильна, вечно какие то синтаксические ошибки или еще чего. Может подскажете как эт сделать.... ;)
     
  10. iona

    iona Гость

    Все.. сделала.... разобралась ))) терь другая проблема.. как в DBGrid первый столбец закрепить при прокрутке... ;)
     
Загрузка...

Поделиться этой страницей