у меня 3 таблицы. Apls, Hulls и AplsHulls.
Apls состоит из идентификатора, имени, даты
Корпус состоит из идентификатора, имя_производства
AplsHulls является таблицей соединений и состоит из id, apl_id, hull_id, status.
Не каждый Халл связан с каждым Apl. Те, которые находятся в таблице соединения со статусом (отправлено, в производстве и т. Д.)
Мне нужно отобразить отчет в таблице / сетке со следующими заголовками столбцов: Apl Name, Apl_Date, а затем имена производственной оболочки в качестве оставшихся заголовков столбцов. (если корпус 7 не входит в набор результатов, он даже не получает столбец.
Для данных мне нужно указать имя apl, дату apl, затем выполнить цикл по оставшимся столбцам и заполнить статус записей в таблице соединений. Если apl и hull не связаны в таблице соединений, просто заполните ячейку "NA".
Я пробовал эту кучу разных способов, и в настоящее время я могу получить динамический список заголовков столбцов для оболочек, мне кажется, что я никогда не смогу заставить данные циклически проходить правильно.
Sample Data:
Apls Table
Id: 1, Name: X1-0000, Date: 1/1/2009
Id: 2, Name: BG-5480, Date: 2/22/2009
Id: 3, Name: HG-0000, Date: 2/27/2009
Hulls Table
Id: 1, Production_name: ProdA
Id: 2, Production_name: ProdB
Id: 3, Production_name: ProdC
Id: 4, Production_name: ProdD
AplsHulls Table
Id: 1, Apl_id: 1, Hull_id: 1, Status:Delivered
Id: 2, Apl_id: 1, Hull_id: 3, Status:Ordered
Id: 3, Apl_id: 2, Hull_id: 4, Status:Delivered
Мне нужно, чтобы таблица отображалась следующим образом:
APL | Date | ProdA | ProdC | ProdD
X1-0000 | 01/01/2009 | Delivered | Ordered | NA
BG-5480 | 02/22/2009 | NA | NA | Delivered
Обратите внимание, что заголовки столбцов игнорируют ProdB, поскольку этой записи вообще не было в таблице соединений. Также он заполняет NA для столбцов, которые находятся в таблице соединения, но может не иметь связи с в таблице соединения.
Это очень запутанно, я знаю.