关于笛卡尔乘积问题
在A\B两表之间复--意思就是说如果A表有一条记录,而B表有相同的2条,则只能选B表的一条。
同样的如果A表有3条,而B表有2条,则只能选AB表一样的A表的两条和B表的两条,这是和对账情况一样,希望个为能给出好的数据库实现,或好的方法
A table b table
aid 日期 b金额 a方向 bid 日期 b金额 b方向
10 2003 10 1 21 2003 10 1
11 2003 -10 1 22 2003 10 -1
12 2004 10 1 23 2003 10 1
13 2003 11 1 24 2003 11 1
希望查询出的数据为
aid bid 日期 a金额 a方向 b金额 b方向
10 21 2003 10 1 10 1
11 22 2003 -10 1 10 -1
13 24 2003 11 1 11 1
根据日期以及金额方向查询,方向相反而且金额的方向也相反,就认为是相同的
在A\B两表之间复--意思就是说如果A表有一条记录,而B表有相同的2条,则只能选B表的一条。
同样的如果A表有3条,而B表有2条,则只能选AB表一样的A表的两条和B表的两条,这是和对账情况一样,希望个为能给出好的数据库实现,或好的方法
A table b table
aid 日期 b金额 a方向 bid 日期 b金额 b方向
10 2003 10 1 21 2003 10 1
11 2003 -10 1 22 2003 10 -1
12 2004 10 1 23 2003 10 1
13 2003 11 1 24 2003 11 1
希望查询出的数据为
aid bid 日期 a金额 a方向 b金额 b方向
10 21 2003 10 1 10 1
11 22 2003 -10 1 10 -1
13 24 2003 11 1 11 1
根据日期以及金额方向查询,方向相反而且金额的方向也相反,就认为是相同的
多写几行出来吧
1。“意思就是说如果A表有一条记录,而B表有相同的2条,则只能选B表的一条。
同样的如果A表有3条,而B表有2条,则只能选AB表一样的A表的两条和B表的两条”
这句话中的“而B表有相同的2条”,此“相同”是否为楼主最后定义的“相同”?
2。还是上面那句话。“只能选AB表一样的A表的两条和B表的两条”,选了两条怎么办?这两个两条都“相同”么?如何进行查询结果的匹配?
3。数据量“特别大”是多大?这恐怕是最重要的问题了。