Foxtable(狐表)用户栏目专家坐堂 → [讨论]SQLJoinTableBuilder是否应该存异呢?


  共有14141人关注过本帖树形打印复制链接

主题:[讨论]SQLJoinTableBuilder是否应该存异呢?

帅哥哟,离线,有人找我吗?
ybil
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
[讨论]SQLJoinTableBuilder是否应该存异呢?  发帖心情 Post By:2011/6/20 11:29:00 [显示全部帖子]

目前的SQLJoinTableBuilder是求同法,排除异类,这太绝对了.我们不是常常提出解决问题方法是:求同存异!
也就是说SQLJoinTableBuilder只是相当SQL的INNER JOIN(要求两个表必须都有对应的记录,才会在查询表中生成记录)
,但不具备SQL的LEFT JOIN 或者 RIGHT JOIN的功能(前者只要求左边的表有对应的记录即可,后者只要求右边的表有对应的记录即可)。

专业统计工具SQLGroupTableBuilder等也是如此!

如图中代码只能得到前面4行数据,实际我是想得到全部6行数据!

文件为示例的『组合统计结果』

图片点击可在新窗口打开查看此主题相关图片如下:003.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2011-6-20 11:37:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ybil
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/6/20 12:27:00 [显示全部帖子]

Select 产品名称,客户名称,日期,数量,单价,数量 * 单价 As [金额] From ({产品} RIGHT JOIN  {订单} ON {产品}.[产品ID] = {订单}.[产品Id]) INNER JOIN {客户} ON {客户}.[客户ID] = {订单}.[客户ID]


{产品} RIGHT JOIN  {订单}    '『订单』表在右,所以 Right Join

[此贴子已经被作者于2011-6-20 14:18:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ybil
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/6/20 14:57:00 [显示全部帖子]

以下是引用reachtone在2011-6-20 14:51:00的发言:
刚试了下,Combine组合统计结果不存在这个问题。我随便在“销售单”和“退货单”上增加几行记录都能组合进去。
Combine组合是可以的,最好SQLJoinTableBuilder本身具备SQL Join的功能,您知道:你不出力挤挤,老牛不出奶!

 回到顶部