Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1680to1684
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

@mmat: SQL Ergebnis 2er Querys via LEFT JOIN ...

@mmat: SQL Ergebnis 2er Querys via LEFT JOIN ...
23.03.2019 18:08:49
Zacharias
Hallo mmat,
Ich kam nach Deiner Antwort leider erst jetzt zum Lesen, daher war der Beitrag schon im Archiv, und ich konnte nicht direkt antworten; daher auf diesem Weg mein Dankeschön.
Original-Thread:
https://www.herber.de/forum/archiv/1680to1684/1681192_SQL_Ergebnis_2er_Querys_via_LEFT_JOIN_verbinden.html#1681192
Du schreibst:

der einfachste Ansatz ist doch wohl über MS-Query und ODBC auf die Datenbank zu gehen, die  _
Abfrage zusammenzubauen und dann zu gucken, was das Tool für ein SQL zusammengebaut hat.

Die Daten die ich 'joinen' will, befinden sich bereits in derselben Datei, wie der Programmcode mit dem ich die SQL-Abfrage durchführe.
Ich nutze also SQL via ADODB.Recordset ausschließlich in Excel.
MSQuery habe ich noch nicht genutzt, daher weiß ich im Moment nicht, was Du damit meinst, eine Abfrage zusammenzubauen und zu gucken, was das Tool für ein SQL zusammenbaut.
Ich hatte die 3 funktionierenden Einzelabfragen ja schon in SQL fertiggestellt.
Kann ich diese in MSQuery 'reinkippen' und MSQuery optimiert diese dann zu einer Abfrage?
Das wäre natürlich eine schöne Sache für einen SQL-Anfänger wie mich ;-)
Vielen Dank nochmal für's Antworten (ich hatte nicht damit gerechnet nach 5 Tagen noch Antwort zu erhalten).
Viele Grüße
Zacharias

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: @mmat: SQL Ergebnis 2er Querys via LEFT JOIN ...
25.03.2019 14:22:43
mmat
Hallo,
MS-Query kann man mit allen möglichen ODBC-Verbindungen nutzen. Aufruf:
Daten/Aus anderen Quellen/Microsoft-Query
Es ist ein ganz nützliches Toll um Abfragen zu konfigurieren (zusammenzubauen) und man kann dann auch gucken, was das für ein SQL ist.
Oder man gibt die Daten an Excel zurück. Wenn man vorher die Makroaufzeichnung aktiviert hat, dann steht im VBA der Komplette Code der Abfrage.
Irgendwie hab ich auch ein Problem mit deiner Abfrage, ich würde diesen Ansatz wählen:
SELECT
AA.[ID_PROJ], AA.[FIN], BB.[EVK]
from
( SELECT A.[ID_PROJ], SUM(A.[FIN SOC: davon verplant]) AS [FIN]
FROM   [PROJ_SOC_DATA$]
GROUP BY A.[ID_PROJ] )  As AA,
( SELECT B.[ID_PROJ], SUM(B.[EVK (50/100%)]) AS [EVK]
FROM   [PROJ_PAB_SHOW$] As B
WHERE B.[PAB Status TXT PABOL]  'PAB abgebrochen'
GROUP BY B.[ID_PROJ] ) AS BB
where
AA.[ID_PROJ]=BB.[ID_PROJ]
;
natürlich kann ich das nicht testen, ich hoffe du verstehts wo der Unterschied liegt
vg, MM
Anzeige
AW: @mmat: SQL Ergebnis 2er Querys via LEFT JOIN ...
28.03.2019 13:54:09
Zacharias
Hallo MM,
Vielen Dank! Wie gesagt, bin ich ziemlicher SQL-Neuling. Ich probiere bei Bedarf immer nur etwas herum und hatte schon reichlich damit zu kämpfen die Quellarbeitsblätter vorher soweit einheitlich zu formatieren, daß nicht immer die Hälfte der Attribute-Spalten leer bleibt ;-)
Deine Idee die Ergebnisse beider Abfragen selbst als unterschiedliche Aliase zu deklarieren und auch unter ihrem Alias zu selektieren und zusammenzuführen war gut und klappt prima.
So übergebe ich dann Query-String in VBA meiner Sub und das Ergebnis landet dann auf dem Wunschblatt.

SQL_to_range _
ThisWorkbook.FullName, _
wksSQL1, _
True, _
True, _
" SELECT                                                            " & _
"   AA.[ID_PROJ], AA.[FIN], BB.[EVK]                                " & _
" FROM                                                              " & _
"   ( SELECT A.[ID_PROJ], SUM(A.[FIN SOC: davon verplant]) AS [FIN] " & _
"      FROM   [PROJ_SOC_DATA$] AS A                                 " & _
"      GROUP BY A.[ID_PROJ] )  As AA,                               " & _
"   ( SELECT B.[ID_PROJ], SUM(B.[EVK (50/100%)]) AS [EVK]           " & _
"      FROM   [PROJ_PAB_SHOW$] As B                                 " & _
"      WHERE B.[PAB Status TXT PABOL]  'PAB abgebrochen'          " & _
"      GROUP BY B.[ID_PROJ] ) AS BB                                 " & _
" WHERE                                                             " & _
"    AA.[ID_PROJ]=BB.[ID_PROJ]                                      " & _
" ;                                                                 "
MS-Query werde ich auch nochmal ausprobieren, so auf die Schnelle habe ich eben keine Verbindung zu einer Excel-Datei hinbekommen - es wird immer bemängelt, daß "keine sichtbaren Tabellen" vorhanden wären (was aber falsch ist). Aber da brauche ich nur erwas Zeit.
Nochmals herzlichen Dank und viele Grüße
Zacharias
Anzeige
Danke für die Rückmeldung. Gerne wieder. OwT.
29.03.2019 13:16:08
mmat

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige