Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: "транспортировать"/перевернуть таблицу
 
 автор: lurix   (22.12.2009 в 17:43)   личное сообщение
 
 

Есть таблицы с 2 полями: Деталь (числовое поле); Примечание (текстовое поле).
Может быть так, что для одной и той же детали есь несколько примечаний (т.е.3 строки с повторяющейся запчасть и разными примечаниями).

Как создать запрос, в котором единоразово будет отображаться каждая деталь, а каждое примечание будет в отдельном поле? т.е.таблицу необходимо перевернуть (сейчас значения примечаний распооржены по вертикали, а необходимо их расположить по горизонтали).

Подскажите пожалуйста, как лучше сделать?

  Ответить  
 
 автор: Lukas   (22.12.2009 в 18:09)   личное сообщение
 
 

А двумя можно?
1.

SELECT tblParent.IDParent, tblParent.ParentName, acbGenPOSID(tblParent.IDParent) AS Num, tblChild.ChildName INTO tblTemp
FROM tblParent LEFT JOIN tblChild ON tblParent.IDParent=tblChild.IDParent
WHERE (((acbGenPOSID())<>False))
ORDER BY tblParent.IDParent, tblChild.IDChild;

2.

TRANSFORM First(tblTemp.ChildName) AS [First-ChildName]
SELECT tblTemp.IDParent, tblTemp.ParentName
FROM tblTemp
GROUP BY tblTemp.IDParent, tblTemp.ParentName
PIVOT tblTemp.Num;

И работает быстрее значительно.

  Ответить  
 
 автор: lurix   (23.12.2009 в 11:36)   личное сообщение
 
 

А сами таблицы можете скинуть?

  Ответить  
 
 автор: Lukas   (23.12.2009 в 12:11)   личное сообщение
20 Кб.
 
 

Вот они:
Оказывается можно и одним запросом, если заготовить табличку заранее и добавить еще одну функцию в модуль:

PS. Пришлось удалить большую часть родителей с детьми, в 50 кб на влезали.

  Ответить  
 
 автор: lurix   (23.12.2009 в 18:02)   личное сообщение
 
 

огромнейшее спасибо!!!!!!!!! все получилось!!!!!!

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList