Autor Beitrag
renekr
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 41

Win 2000 ,Win XP, Win 7 64Bit
Delphi 2007 Ent,VBA,C#,ASP.net,VS2009Pro,VS2010 RC
BeitragVerfasst: So 04.06.06 11:42 
Hallo,
Ich tu mir gerade ein bisschen schwer bei einer Abfrage.

Ich habe 2 Views aus 2 Haupttabellen die natürlich mit Left outer join aus ansderten Tabellen daten holen.

In beiden Views sind ahnliche Spalten drin und nun möchte ich eine Abfrage machen über beide Views.

Also die 1. view ist eine Lagerbewegung wo Kosten pro Paltz drin stehen.
Die 2 View ist eine Aktionsdaten wo Minuten pro Platz als Störungen drin sind.

Über die Minuten errechne ich dann die Personal Zeit für diesen eintrag.

Und nun will ich eine Auswertung im Programm implementieren wo mir beide Kosten zurückgeben ( Lager und Personal ) von einem Zeitraum.


Hier die 2 Views.

ausblenden SQL-Anweisung
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
 SELECT     TOP (100) PERCENT dbo.Lagerbewegung.Technischer_platz, dbo.Lagerbewegung.Platznummer, dbo.Prozess.Besch_Proz, 
                      dbo.Prozess.Prozess_kuerz, dbo.Lagerbewegung.aktuelles_Datum, dbo.Lagerbewegung.Stueckzahl, dbo.Lagerliste.Preis, 
                      ROUND(dbo.Lagerliste.Preis * dbo.Lagerbewegung.Stueckzahl, 0AS P_ST, dbo.Lagerbewegung.Materialkennummer, 
                      dbo.Lagerbewegung.Bewegungsnummer, dbo.Tech_PL_Kst.aktiv 
FROM         dbo.Prozess LEFT OUTER JOIN 
                      dbo.Tech_PL_Proz ON dbo.Prozess.Prozess_kuerz = dbo.Tech_PL_Proz.Prozess_kuerz RIGHT OUTER JOIN 
                      dbo.Lagerbewegung INNER JOIN 
                      dbo.Tech_PL_Kst ON dbo.Lagerbewegung.Technischer_platz = dbo.Tech_PL_Kst.Technischer_Platz ON 
                      dbo.Tech_PL_Proz.Technischer_Platz = dbo.Lagerbewegung.Technischer_platz AND 
                      dbo.Tech_PL_Proz.Platznummer = dbo.Lagerbewegung.Platznummer LEFT OUTER JOIN 
                      dbo.Lagerliste ON dbo.Lagerbewegung.Materialkennummer = dbo.Lagerliste.Kennummer 
WHERE     (dbo.Lagerbewegung.Bewegung = N'Abgang'AND (dbo.Lagerbewegung.Stueckzahl > 0AND (dbo.Lagerliste.Preis > 0AND (dbo.Tech_PL_Kst.aktiv = 1
ORDER BY dbo.Lagerbewegung.Technischer_platz


ausblenden SQL-Anweisung
1:
2:
3:
4:
5:
6:
7:
8:
SELECT     TOP (100) PERCENT dbo.Aktionsdaten.Kennummer, dbo.Aktionsdaten.Stoer_Zeit, dbo.Aktionsdaten.Technischer_Platz, dbo.Aktionsdaten.Platznummer, 
                      dbo.Aktionsdaten.Prozess, dbo.Aktionsdaten.PM_min, dbo.Prozess.Besch_Proz, dbo.Aktionsdaten.PM_min * 1.33 AS PM_Kosten, 
                      dbo.Tech_PL_Kst.aktiv 
FROM         dbo.Aktionsdaten LEFT OUTER JOIN 
                      dbo.Tech_PL_Kst ON dbo.Aktionsdaten.Technischer_Platz = dbo.Tech_PL_Kst.Technischer_Platz LEFT OUTER JOIN 
                      dbo.Prozess ON dbo.Aktionsdaten.Prozess = dbo.Prozess.Prozess_kuerz 
WHERE     (dbo.Tech_PL_Kst.aktiv = 1
ORDER BY dbo.Aktionsdaten.Technischer_Platz

Ich will eine View oder Select abfrage über beide Views machen damit ich alle Ergebnisse mit Kosten ( einmal Lager und Personall ) rausbekomme aber in einem Zeitraum.
Einmal heißt der Zeitraum Stoer_Zeit einmal Aktuelles_Datum.
Also müßte ich eine View mache über beide mit Where stoer_zeit between and Aktuelles_Datum between.

Aber ich weiß nicht wie ich beide View Ergebnisse zusammenführen kann und Datensätze zu verlieren wie bei Left outer oder Distinct ,union.

Vielen Dank
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: So 04.06.06 17:58 
Ich habe dein Problem vielleicht nicht ganz verstanden, es wäre hilfreich, wenn Du Dir einfach das Ergebnis überlegst. Welche Spalten soll die Ziel-Query haben? Was soll drinstehen? So mach ich das immer.

_________________
Na denn, dann. Bis dann, denn.
renekr Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 41

Win 2000 ,Win XP, Win 7 64Bit
Delphi 2007 Ent,VBA,C#,ASP.net,VS2009Pro,VS2010 RC
BeitragVerfasst: So 04.06.06 18:07 
Hi,
also ich brauche den Prozess,Technischen_Platz ,Platznummer, PM_Kosten,P_ST und datum.
je nachdem welche Abfrage-
Brauche 3 über Prozess,Plätze,und Linie ( Technischer Platz )

Die 2 Views sind einmal Lager daten und 1 mal Personalminuten = Kosten pro Stunde.


Ich mache im Source dann eine Select mit ev. Group by über ein Select * xy from (View1)

Danke