MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > SQL
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 18.10.2017, 15:32   #1
enzorodi
Neuer Benutzer
Neuer Benutzer
Standard T-SQL : MSSQL 2008 - Verschachteln von Abfragen in Subqueries möglich ?

Hallo Forum,

Ich brüte schon seit lägerem über eine Abfrage, find aber keinen geeigneten Kniff dafür

Ausgangslage:

Durch setzen von Parameter in Excel soll eine MS SQL Query Abfrage angestoßen werden.
Angezeigt wird eine Liste mit dem Rohstoffverbrauch einzelner Produkte und der daraus resultierenden Produktionsmenge.

Die Parameter sind:

1. Buchungskreis
2. Werke
3. Zeitraum

Der Zeitraum wird selektiert als z.b. 01.06.2016 bis 30.06.2016

Später sollen in der Tabelle aber nur die gruppierten und summierten Werte für diesen Zeitraum dargstellt werden.
Die einzelnen Tage werden nicht aufgelistet


Die Ausgangstabellen sind folgenden



1. Die Tabelle "Rohstoff" mit den einzelnen Rohstoffverbräuchen



SELECT
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].BK,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Mandant,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Werk,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Werk_text,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Festigkeitsklasse,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Konsistenzklasse,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].[key],
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Rohstoffnummer,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Rohstoffbezeichnung,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Statistikgruppe1,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Statistikgruppe2,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Statistikuntergruppe,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].[Rohstoff-Lieferant],
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Einheit,
SUM([005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Verbrauch) AS Verbrauch

FROM dbo.[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz]

WHERE [005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].BK = 3025
AND [005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Werk = 3085
AND [005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Datum BETWEEN '01.06.2016' AND '30.06.2016'

GROUP BY [005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].BK,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Mandant,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Werk,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Werk_text,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Festigkeitsklasse,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Konsistenzklasse,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].[key],
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Rohstoffnummer,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Rohstoffbezeichnung,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Statistikgruppe1,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Statistikgruppe2,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Statistikuntergruppe,
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].[Rohstoff-Lieferant],
[005AT - Verbrauchsauswertung auf Chargenprotokolle - summiert_Festigkeit_Konsistenz].Einheit



2. Die Tabelle "Produktion" mit der Produktionsmenge



SELECT
[xt - Produktionsmengen_auf_Konsistenz_Festigkeit].BK,
[xt - Produktionsmengen_auf_Konsistenz_Festigkeit].Mandant,
[xt - Produktionsmengen_auf_Konsistenz_Festigkeit].Werk,
[xt - Produktionsmengen_auf_Konsistenz_Festigkeit].Werk_text,
[xt - Produktionsmengen_auf_Konsistenz_Festigkeit].Festigkeitsklasse,
[xt - Produktionsmengen_auf_Konsistenz_Festigkeit].Konsistenzklasse,
SUM([xt - Produktionsmengen_auf_Konsistenz_Festigkeit].Produktion) AS Produktion,
[xt - Produktionsmengen_auf_Konsistenz_Festigkeit].[key]
FROM dbo.[xt - Produktionsmengen_auf_Konsistenz_Festigkeit]

WHERE [xt - Produktionsmengen_auf_Konsistenz_Festigkeit].BK = 3025
AND [xt - Produktionsmengen_auf_Konsistenz_Festigkeit].Werk = 3085
AND [xt - Produktionsmengen_auf_Konsistenz_Festigkeit].Datum BETWEEN '01.06.2016' AND '30.06.2016'

GROUP BY [xt - Produktionsmengen_auf_Konsistenz_Festigkeit].BK,
[xt - Produktionsmengen_auf_Konsistenz_Festigkeit].Mandant,
[xt - Produktionsmengen_auf_Konsistenz_Festigkeit].Werk,
[xt - Produktionsmengen_auf_Konsistenz_Festigkeit].Werk_text,
[xt - Produktionsmengen_auf_Konsistenz_Festigkeit].Festigkeitsklasse,
[xt - Produktionsmengen_auf_Konsistenz_Festigkeit].Konsistenzklasse,
[xt - Produktionsmengen_auf_Konsistenz_Festigkeit].[key]


-----


Die Where Bedingungen sind immer identisch!



Verknüpft werden die beiden Tabellen mit dieser Abfrage über das "key" Feld

Das Key Feld findet später in Excel noch Verwendung und setzt sich zusammen aus:
BK;Werk,Festigkeitsklasse,Konsistenz


3. Endgültige Abfrage als Join der beiden vorausgegangen Abfragen

SELECT
Rohstoff.BK,
Rohstoff.Mandant,
Rohstoff.Werk,
Rohstoff.Werk_text,
Rohstoff.Festigkeitsklasse,
Rohstoff.Konsistenzklasse,
Rohstoff.[key],
Rohstoff.Rohstoffnummer,
Rohstoff.Rohstoffbezeichnung,
Rohstoff.Statistikgruppe1,
Rohstoff.Statistikgruppe2,
Rohstoff.Statistikuntergruppe,
Rohstoff.[Rohstoff-Lieferant],
Rohstoff.Einheit,
Rohstoff.Verbrauch,
Produktion.Produktion
FROM dbo.Rohstoff
INNER JOIN dbo.Produktion
ON Rohstoff.[key] = Produktion.[key]

http://prntscr.com/gyxyoi



Das funktioniert alles ganz wunderbar, nur kann ich hier nicht mehr den Datumbereich über die Parameterübergabe in Ecel ändern, da ich ja nicht mehr an die vorausgegangen Abfragen
rankomme, außer vielleicht ich bekommt das Ganze umgebaut mit subqueries...

Momentan habe ich noch keine Idee, wie das mit subqueries funktionieren kann und ob überhaupt...
Tipps werden gerne angenommen.

Danke !
enzorodi ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:19 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.