左外连接Microsoft Excel查询问题

时间:2017-02-20 21:20:55

标签: sql excel join

我有以下excel表:

表:a

Button closeButton = new Button(this);
        closeButton.setBackgroundColor(200);
        closeButton.setEnabled(false);

        showcaseView = new ShowcaseView.Builder(this)
                .setTarget(new PointTarget(330, 570))
//                .setTarget(new ViewTarget(((Toolbar) findViewById(R.id.toolbar)).getChildAt(0)))//works
                .setContentTitle("Add a new device")
                .setContentText("You need to add a new device to be able to use this app")
//                .hideOnTouchOutside()
                .setStyle(R.style.CustomShowcaseTheme2)
                .replaceEndButton(closeButton)
                .build();

和表:w

week    Item    qty 

wk1      a      1   
wk2      b      1  
wk3      b      2

我想应用LEFT JOIN以返回左表(w)中的所有行,并根据以下查询返回右表(a)中的匹配行

week    Item    sales 
wk1 a   11 
wk2 b   22 
wk1 b   33 
wk2 b   4 
wk3 b   5

但是我没有得到理想的结果

SELECT `a$`.week, `a$`.Item, `a$`.qty, `w$`.sales
FROM {oj `C:\Users\User\Desktop\test.xlsx`.`w$` `w$`
LEFT OUTER JOIN `C:\Users\User\Desktop\test.xlsx`.`a$` `a$`
    ON `a$`.week = `w$`.week}
WHERE `w$`.Item = `a$`.Item

缺少以下行

week    Item    qty sales
wk1 a   1   11
wk2 b   1   4
wk2 b   1   22
wk3 b   2   5

有什么想法吗?或建议如何解决这个问题?

提前致谢 科斯塔斯

2 个答案:

答案 0 :(得分:0)

你实际上做了内连接而不是外连接。 因为你用过

WHERE w$.Item = a$.Item

首先,你有记录,包括销售额为33。

其次,在这种情况下你已经删除了创纪录的销售额。

因此,删除此条件将没有问题。

答案 1 :(得分:0)

你有一个where子句与你的预期结果相矛盾。删除where子句,您将得到预期的结果。