Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL-запрос. 4 таблицы. [D7, FireBird]


worldmen ©   (2006-03-10 09:38:00) 

Делаю отчет. Есть 4 таблицы. Две из них связываю нормально. В третьей у меня данные по должности клиента: ID_Клиента, ID_Должность. 4-я : ID_Должность, Name_Должности.
Должностей у клиента можетбыть 1 или 2.
Т.о. из 4-й табл. выбираются по 2-е записи для клиента.
Можно ли эти 2-е строки объединить в одну?


worldmen   (2006-03-10 12:04:00) [1]

Понятно.


Sergey13   (2006-03-10 11:58:00) [2]

2[12] worldmen ©   (10.03.06 11:54)
> А что тогда процедура делать будет?
Выбирать список должностей и складывать их в одну строку. Ерундой вобщем заниматься. 8-)


worldmen   (2006-03-10 11:54:00) [3]


> Sergey13 ©   (10.03.06 11:44) [11]
> Достаточно ID_Клиента, насколько я понял

А что тогда процедура делать будет? (теоретически) Это ж надо както в отчет вставить.


Sergey13   (2006-03-10 11:44:00) [4]

2[10] worldmen ©   (10.03.06 11:39)
>Я так понял ХП нужно сделать входным параметром поле должностей
Достаточно ID_Клиента, насколько я понял.


worldmen   (2006-03-10 11:39:00) [5]

Я так понял ХП нужно сделать входным параметром поле должностей, а выходным - строка обьединяющая это поле?


> ANB ©   (10.03.06 11:19) [9]
> Каким образом они должны быть объеденины ?

Я хотел вывести Должности в поле в одну строку, чтоб удобно было вывести в отчет.


ANB   (2006-03-10 11:19:00) [6]


> Можно ли эти 2-е строки объединить в одну?

Каким образом они должны быть объеденины ?

ЗЫ. Подзапрос рулит, если должностей не больше конечного числа. Если плавающее число - оптимально хранимая функция.


Johnmen   (2006-03-10 10:59:00) [7]


> Да и по правилам (Нормальные формы) - это не правильно.


Про денормализацию, как один из наиболее важных моментов в проектировании БД, можно много почитать в инете...


Sergey13   (2006-03-10 10:49:00) [8]

2[6] worldmen ©   (10.03.06 10:41)
Ну и печатай их 2 строками - обычная М-Д связка.
ХП - хранимая процедура.


worldmen   (2006-03-10 10:41:00) [9]


> Просто завести 2 поля - под первую должность и под вторую.
> ..
Я пробовал так делать. Но это только для одного подразделения, для остальных по 1-й должности. Да и по правилам (Нормальные формы) - это не правильно.


worldmen   (2006-03-10 10:36:00) [10]

Непонял что такое "ХП"?


unknown   (2006-03-10 09:47:00) [11]


> worldmen ©   (10.03.06 09:38)
> Делаю отчет.

Как именно?

> Можно ли эти 2-е строки объединить в одну?

Нормально реализовать такое можно только в ХП.


msguns   (2006-03-10 09:46:00) [12]

Нет. Только ХП или "на клиенте", сканируя датасет


Johnmen   (2006-03-10 09:43:00) [13]

Но если "Должностей у клиента можетбыть 1 или 2", то связь М-М не нужна со своей связной таблицей. Просто завести 2 поля - под первую должность и под вторую...


Johnmen   (2006-03-10 09:41:00) [14]

Можно. Пиши ХП.


Наверх

Титульная страница Поиск, карта сайта Написать письмо