我有2个表格。从两个不同的表格中选择数据
表TSTRSN
[P]Client
[P]Year
[P]Rule_Nbr
Type_Code
表TSTOCK
[P]Client
[P]Year
TimeStamp
EndOfFiscalYear
([P]表示主键)
该请求是双重的:
1)列出所有的计数Rule_Nbr在给定时间内(从TimeStamp开始)。
...然后用户选择特定的Rule_Nbr ...
2)列出所有的客户,年,EndOfFiscalYear该特定Rule_Nbr
因此,对于第1部分),我也要把Rule_Nbr,取匹配的客户端和年份 - 使用它来搜索TimeStamp。如果它落在正确的时间内,则增加1 ......等等。然后对于第2部分)我可以保存第1部分的数据(我不知道在给定表的大小的情况下这是否可行),也可以仅为一个Rule_Nbr重新执行查询1)。
对于SQL/DB2来说,我是很新的......那么怎么去做呢?我的第一个想法是创建一个数组,存储TSTRSN.Client/Year/Rule_Nbr,然后通过将其与TSTOCK.Client/Year/Timestamp进行比较来修剪它,但我想知道是否有更好的方法(我甚至不确定DB2中是否存在数组! )
任何提示?
在标准SQL中,由于规范化而没有数组的概念。可以被视为数组的数据通常放在一个“子”表中,正如你所知道的那样,它通过一个JOIN来访问。请注意,JOIN可能很昂贵。 – zarchasmpgmr