2017-02-20 2 views
1

ich folgende Excel-Tabellen haben:LEFT OUTER JOIN Microsoft Excel-Abfrage Ausgabe

Tabelle: a

week Item qty 

wk1  a  1 
wk2  b  1 
wk3  b  2 

und Tabelle: w

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

Ich mag würde die LEFT JOIN anzuwenden um alle Zeilen aus der linken Tabelle (w) zurückzugeben, mit den übereinstimmenden Zeilen in der rechten Tabelle (a) gemäß folgender Abfrage

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 

Allerdings bin ich nicht immer das gewünschte Ergebnis

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

wie die folgende Zeile

wk1 b  33 

Irgendwelche Ideen fehlt? oder Vorschläge, wie Sie dieses Problem lösen können?

Vielen Dank im Voraus Kostas

+0

Machen Sie einen 'FULL OUTER JOIN'. Sie vermissen 'wk1 b', weil es in' Table a' nicht existiert. Entfernen Sie die 'Where'-Klausel und fügen Sie den Vergleich des' Item' in der 'Join'-Anweisung hinzu –

Antwort

0

Sie haben tatsächlich INNER JOIN nicht Outer-Joins. Weil Sie

verwendet
WHERE w$.Item = a$.Item 

Erstens, Sie haben Aufzeichnungen einschließlich der Verkäufe ist 33.

Zweitens haben Sie einen Rekordumsatz entfernt ist 33 durch diese Bedingung.

So wird das Entfernen dieser Bedingung kein Problem sein.

+0

Spalten werden geknackt ... Das ist eigentlich der Umsatz von 33. –

+0

@WEI_DBA Ich verstehe nicht, was Sie bedeuten. Aber deine Antwort und meine Antwort haben dasselbe Ergebnis. Weil w table alle Zeilen hat, die in einer Tabelle existieren. Und er fragte, warum die Ergebnistabelle keinen Umsatz von 33 enthielt, also antwortete ich, warum er sie verliert. – doctorgu

+0

Ja, ich dachte du meinst 33 war die Artikelnummer. ;-) –

0

Sie haben eine where-Klausel, die dem erwarteten Ergebnis widerspricht. Entfernen Sie die WHERE-Klausel, und Sie erhalten das erwartete Ergebnis.

Verwandte Themen