我有 3 张桌子。Apls、船体和 AplsHulls。
Apls由id、name、date组成 Hulls由id、production_name组成 AplsHulls是一个连接表,由id、apl_id、hull_id、status组成。
并非每个船体都与每个 Apl 相关联。连接表中的状态(已发货、生产中等)
我需要在具有以下列标题的表/网格中显示报告:Apl 名称、Apl_Date 然后船体生产名称作为剩余的列标题。(如果 hull 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,但它可能与连接表中没有关联。
这很令人困惑,我知道。