![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: UniDac
Problem mit select-Anweisung
Hallo Zusammen,
sorry für den nicht aussagekräftigen Titel, aber ich weiß nicht, wie ich das Problem in ein Wort packen soll... Ich habe eine Tablle mit folgender Struktur 1. AuftragsNr (Auftrag) 2. ArtikelNr (Artikel) 3. Arbeitsgang (AG) 4. Status (S) 0=nicht fertig; 9=fertig 5. Maschine (MA) 6. Gefertigte Menge (Menge) Das Ganze sieht dann so ähnlich aus: Auftrag...Artikel...AG...S...MA...Menge 1000001...4711000...10...9...P1...10000 1000001...4711000...20...9...C2....9950 1000001...4711000...30...0...V4.......0 1000001...4711000...40...0...S1.......0 1000001...4711000...50...0...W5.......0 1000999...0815000...10...9...P1...10000 1000999...0815000...20...9...V4...10000 1000999...0815000...30...9...C2....9998 1000999...0815000...40...9...W5....9990 1000999...0815000...50...0...S1.......0 1000999...0815000...60...0...Y1.......0 1000999...0815000...70...0...Q1.......0 Dise Tabelle besteht aus mehreren 100T Datensätzen. Ich muss jetzt zwei Dinge herausfinden und weiß noch nicht wir ich das anstellen soll: 1. Ich brauche die Summe der Mengen aller zuletzt fertiggemeldeten Arbeitsgänge. Bei AUftrag 1000001 sind das der AG 20 mit 9950 und bei Auftrag 1000999 ist der AG 40 mit 9990, also in Summe 19940. 2. Ich brauche in einer anderen Abfrage den naächst folgenden Arbeitsgang. Also bei 1000001 den AG 30 und bei dem Auftrag 1000999 den AG 50. Hat jemand eine Idee, wie ich das anstellen muss? Vielen Dank Patrick |
AW: Problem mit select-Anweisung
Ein Ansatz zu Frage1: bekommst Du hiermit die richtigen Datensätze zum Aufaddieren?
SQL-Code:
SELECT
Menge FROM Tabelle Haupt WHERE Arbeitsgang = (SELECT MAX(Arbeitsgang) FROM Tabelle WHERE Status = 9 AND Auftrag = Haupt.Auftrag ) |
AW: Problem mit select-Anweisung
Zitat:
[code]
SQL-Code:
SELECT
Menge FROM Tabelle Haupt WHERE Arbeitsgang = (SELECT MIN(Arbeitsgang) FROM Tabelle WHERE Status = 0 AND Auftrag = Haupt.Auftrag ) |
AW: Problem mit select-Anweisung
Moin, Moin,
das sollte per SQL möglich sein, was ich aber nicht so ganz verstehe ist warum einmal AG20 und dann AG40, da ja der Status = 9 bei mehreren Datensätzen mit der gleichen Auftragsnummer vorkommt... 1000001...4711000...10...9...P1...10000 <- 1000001...4711000...20...9...C2....9950 <- 1000001...4711000...30...0...V4.......0 1000001...4711000...40...0...S1.......0 1000001...4711000...50...0...W5.......0 warum die Summe aus AG20 und nicht aus AG10 ?? Gruß Michael |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz