Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: SQL Abfrage Excel über 2 Tabellen

SQL Abfrage Excel über 2 Tabellen
30.08.2018 20:41:13
Rob
Hallo Zusammen,
zunächst sei gesagt, dass ich absoluter SQL Laie bin.
Dennoch muss ich für die Arbeit nun eine Excel Tabelle mit SQL Abfragen aus unserem ERP-System bauen.
Eine einfache SQL Abfrage mit Filterung stellt auch kein Problem dar.
Nun habe ich aber folgenden Fall:
Ich habe eine SQL Tabelle (sagen wir A) mit Artikelnummern und Lagerplätzen.
Die Mengen auf diesen Lagerplätzen befindet sich jedoch in einer anderen SQL Tabelle (sagen wir B) und berechnet sich über viele Posten. Artikelnummern und Lagerplätze befinden sich in beiden Artikeln.
Was ich nun benötige ist Tabelle A gefiltert auf Artikel mit Lagerplätzen die zum einen einen Zonencode beinhalten (die Abfrage ist noch kein Problem) und zum anderen einen Lagerplatzinhalt (sprich Menge größer 0) haben.
Und genau das bekomme ich nicht hin. Die Menge muss aus der Tabelle B über eine SUM Funktion berechnet werden.
Ich hoffe Ihr könnt mir helfen. Ich verzweifle langsam.
Folgendes habe ich mal selber gebastelt/ergooglelt/ausprobiert:
Userbild
Bitte erschlagt mich nicht wenn das bisher totaler Quatsch ist :-)
Vielen Dank vorab für eure Hilfe
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
bitte Beispieldatei...
31.08.2018 10:47:57
ChrisL
mit Ist-Zustand (TabelleA und TabelleB) und mit dem Soll-Zustand (Tabelle Ergebnis).
SQL-String
31.08.2018 12:42:53
ChrisL
Hi Rob
Ich erstelle solche Abfragen immer erst in Access. Da kannst du gut testen und es gibt Unterstützung bei der Erstellung.
SELECT [Bin Content].[Bin Code], [Bin Content].[Item No_], [Bin Content].[Zone Code]
FROM [Bin Content] INNER JOIN [Warehouse Entry] ON ([Bin Content].[Item No_] = [Warehouse Entry].[Item No_]) AND ([Bin Content].[Bin Code] = [Warehouse Entry].[Bin Code])
GROUP BY [Bin Content].[Bin Code], [Bin Content].[Item No_], [Bin Content].[Zone Code]
HAVING ((([Bin Content].[Zone Code])<>"") AND ((Sum([Warehouse Entry].Quantity))>0));
cu
Chris
Anzeige
AW: SQL-String
31.08.2018 13:57:15
Rob
Hi Chris,
tausend Dank!
Es funktioniert tadellos.
Ich werde mich dann wohl auch mal mit Access auseinandersetzen müssen :-)
Grüße
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

SQL Abfrage in Excel über mehrere Tabellen


Schritt-für-Schritt-Anleitung

  1. Daten importieren: Zuerst importierst Du die benötigten Tabellen aus Deinem ERP-System in Excel. Stelle sicher, dass Du sowohl die Tabelle mit den Artikelnummern und Lagerplätzen (Tabelle A) als auch die Tabelle mit den Mengen (Tabelle B) hast.

  2. SQL Abfrage erstellen: Öffne den Power Query Editor in Excel. Wähle die erste Tabelle (Tabelle A) aus und klicke auf "Daten abrufen" und dann auf "Aus Datenbank".

  3. Abfrage anpassen: Füge die SQL Abfrage hinzu, um die Daten aus beiden Tabellen zu verknüpfen. Der SQL-String könnte folgendermaßen aussehen:

    SELECT [Bin Content].[Bin Code], [Bin Content].[Item No_], [Bin Content].[Zone Code]
    FROM [Bin Content] 
    INNER JOIN [Warehouse Entry] ON ([Bin Content].[Item No_] = [Warehouse Entry].[Item No_]) 
    AND ([Bin Content].[Bin Code] = [Warehouse Entry].[Bin Code])
    GROUP BY [Bin Content].[Bin Code], [Bin Content].[Item No_], [Bin Content].[Zone Code]
    HAVING ((([Bin Content].[Zone Code]) <> "") AND ((Sum([Warehouse Entry].Quantity)) > 0));
  4. Daten laden: Klicke auf "Schließen & Laden", um Deine Abfrage in ein neues Arbeitsblatt zu laden.

  5. Ergebnisse überprüfen: Überprüfe die Ergebnisse der SQL Abfrage in Excel, um sicherzustellen, dass die Daten korrekt gefiltert und aggregiert wurden.


Häufige Fehler und Lösungen

  • Fehlerhafte Verknüpfungen: Stelle sicher, dass die Spaltennamen in beiden Tabellen korrekt sind und übereinstimmen. Falsche Namen führen zu Fehlern in der SQL Abfrage.

  • Leere Ergebnisse: Wenn Du leere Ergebnisse erhältst, überprüfe die Filterbedingungen in Deiner HAVING-Klausel. Möglicherweise gibt es keine Datensätze, die die Bedingungen erfüllen.

  • Syntaxfehler: Achte darauf, dass der SQL-String korrekt formatiert ist. Ein fehlendes Komma oder eine falsche Klammer kann dazu führen, dass die Abfrage nicht funktioniert.


Alternative Methoden

  • Access verwenden: Wenn Du mit SQL nicht vertraut bist, kann es hilfreich sein, die Abfrage in Microsoft Access zu erstellen. Hier kannst Du Deine Abfragen testen und die Ergebnisse visuell überprüfen, bevor Du sie in Excel verwendest.

  • PivotTables: Eine andere Möglichkeit zur Analyse von Daten aus mehreren Tabellen besteht darin, PivotTables zu verwenden, um die Daten zu aggregieren und zu filtern, ohne eine SQL Abfrage zu schreiben.


Praktische Beispiele

  1. Beispiel für eine SQL Abfrage: Angenommen, Du möchtest die Artikelnummern mit Lagerplätzen und deren Mengen abfragen. Deine SQL Abfrage könnte wie folgt aussehen:

    SELECT A.[Item No_], A.[Bin Code], SUM(B.Quantity) as TotalQuantity
    FROM [TableA] A
    INNER JOIN [TableB] B ON A.[Item No_] = B.[Item No_]
    GROUP BY A.[Item No_], A.[Bin Code]
    HAVING SUM(B.Quantity) > 0;
  2. Filterung: Um die Ergebnisse weiter zu filtern, kannst Du zusätzliche Bedingungen zur SQL Abfrage hinzufügen, die auf spezifische Zonencodes abzielen.


Tipps für Profis

  • SQL Abfragen optimieren: Verwende Indizes in Deinen SQL Tabellen, um die Abfragegeschwindigkeit zu erhöhen, besonders wenn Du mit großen Datenmengen arbeitest.

  • Regelmäßige Überprüfung: Teste Deine SQL Abfragen regelmäßig, um sicherzustellen, dass sie bei Änderungen in den zugrunde liegenden Datenstrukturen weiterhin funktionieren.

  • Dokumentation: Halte Deine SQL Abfragen und deren Logik gut dokumentiert, damit Du oder andere Benutzer sie später leicht nachvollziehen können.


FAQ: Häufige Fragen

1. Wie kann ich eine SQL Abfrage über mehrere Tabellen in Excel erstellen?
Du kannst dies tun, indem Du den Power Query Editor verwendest und eine SQL Abfrage schreibst, die die benötigten Tabellen verknüpft.

2. Welche Excel-Version benötige ich für SQL Abfragen?
Die Verwendung des Power Query Editors ist in Excel 2016 und späteren Versionen verfügbar. Stelle sicher, dass Du eine kompatible Version hast.

3. Was tun, wenn meine SQL Abfrage in Excel nicht funktioniert?
Überprüfe die Syntax Deines SQL-Strings und stelle sicher, dass die Tabellen und Spalten existieren und korrekt benannt sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige