Einzelnen Beitrag anzeigen

renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: SQL Abfrage aus 2 Viewszusammenführen

  Alt 3. Jun 2006, 12:02
Hi,
ne da bekomme ich nur die Gleichen Ergebnisse alle von Links raus.

Hier mal meine 2 Views.:

SQL-Code:
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, 0) AS 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 > 0) AND (dbo.Lagerliste.Preis > 0) AND (dbo.Tech_PL_Kst.aktiv = 1)
ORDER BY dbo.Lagerbewegung.Technischer_platz
Ergebniss:
01-BDTASSYTEST-2 6 Prozesseingabe PROZ 12.07.2002 07:39:00 16 0,66 11 252 617 True
01-BDTASSYTEST-2 6 Prozesseingabe PROZ 12.07.2002 07:56:00 16 0,94 15 250 618 True
01-BDTASSYTEST-2 6 Prozesseingabe PROZ 12.07.2002 08:36:00 15 0,94 14 250 619 True
01-BDTASSYTEST-2 7 Verschrauben manuell VS_M 12.07.2002 08:36:00 16 0,87 14 256 620 True

SQL-Code:
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
Ergebniss:
686 05.06.2001 15:00:00 01-BDTASSYTEST-2 5 VS_M 5 Verschrauben manuell 6,65 True
1376 16.10.2001 07:40:00 01-BDTASSYTEST-2 4 VS_M 5 Verschrauben manuell 6,65 True
1503 16.11.2001 07:25:00 01-BDTASSYTEST-2 8 PROZ 10 Prozesseingabe 13,30 True
5113 16.01.2003 00:00:00 01-BDTASSYTEST-2 1 10 NULL 13,30 True


Die Ergebnisse sind nur 3-4 Stück.

Die 1. View hat 10712 Datensätze.
Die 2. knapp 39000

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.

Danke
  Mit Zitat antworten Zitat