Hallo liebes Datenbank-Forum
Ich wurde auf Arbeit gefragt, ob ich nicht ein paar SQL-Abfragen erstellen könnte, die die Arbeit erleichtern würden. Da ich der einzige in der Firma mit SQL-Kenntnissen bin, hab ich natürlich zugestimmt und mir nichts weiter dabei gedacht. Wie schwer können schon ein paar Abfragen sein
Als Randinfo, es handelt es sich um ein Vermessungsbüro und die Abfragen sollen in die Software GeoBüro eingebunden werden.
Es gibt Unmengen an Tabellen, in die ich mich erstmal reinfinden musste. Beispielsweise gibt es eine Tabelle für die Aufträge, dann gibt es eine Tabelle für die verschiedenen Vorgänge in diesen Aufträgen und wieder diverse andere Tabellen für Auftragsarten und so weiter. Alles ziemlich weitflächig aufgeteilt und verknüpft.
Das macht dann Abfragen nicht sonderlich leicht, wenn man mehrere Kriterien betrachten muss. Meine SQL-Kenntnisse sind auch etwas eingerostet und ich hatte mich schonmal an Subquerys probiert, aber das funktionierte auch nicht so, wie gedacht.
Ich werf dann einfach mal eine der gewünschten Abfragen in den Raum, vielleicht ist es ja gar nicht so kompliziert und ich stell mich nur blöd an
Nun ist es aber der Fall, dass die Kurzbezeichnungen für die Vorgänge ja in der gleichen Spalte der Tabelle liegen, also gibt er mir in der derzeitigen Lage nur die Daten aus, die vorhanden sind, aber zeigt mir nicht an, wo noch der Außendienst fehlt. Hier steh ich irgendwie auf dem Schlauch, wie man das kombinieren könnte und wäre über ein paar andere Ansichten oder Lösungsansätze sehr dankbar, denn die folgenden "Wünsche" der Kollegen werden nicht leichter von der Fomulierung
Dann danke ich Euch schonmal für eure Zeit und eure Ideen.
LG, Ithron
Ich wurde auf Arbeit gefragt, ob ich nicht ein paar SQL-Abfragen erstellen könnte, die die Arbeit erleichtern würden. Da ich der einzige in der Firma mit SQL-Kenntnissen bin, hab ich natürlich zugestimmt und mir nichts weiter dabei gedacht. Wie schwer können schon ein paar Abfragen sein
Als Randinfo, es handelt es sich um ein Vermessungsbüro und die Abfragen sollen in die Software GeoBüro eingebunden werden.
Es gibt Unmengen an Tabellen, in die ich mich erstmal reinfinden musste. Beispielsweise gibt es eine Tabelle für die Aufträge, dann gibt es eine Tabelle für die verschiedenen Vorgänge in diesen Aufträgen und wieder diverse andere Tabellen für Auftragsarten und so weiter. Alles ziemlich weitflächig aufgeteilt und verknüpft.
Das macht dann Abfragen nicht sonderlich leicht, wenn man mehrere Kriterien betrachten muss. Meine SQL-Kenntnisse sind auch etwas eingerostet und ich hatte mich schonmal an Subquerys probiert, aber das funktionierte auch nicht so, wie gedacht.
Ich werf dann einfach mal eine der gewünschten Abfragen in den Raum, vielleicht ist es ja gar nicht so kompliziert und ich stell mich nur blöd an
Aus diesem "Auftrag" hab ich erstmal folgenden Code erstellt:Alle Aufträge, bei denen die Vermessungsunterlagen da sind, aber noch keine Messung im AD (Außendienst) stattgefunden hat
= Endedatum beim Vorgang "Vermessungsunterlagen sind bestellt" (AVU0), aber kein Vorgang "Messung im AD" (ADB)
-> Vorgang "Messung im AD" muss konsequent gesetzt werden
Code:
SELECT GBAuftrag.Nummer AS Auftragsnummer, GBAuftrag.Objekt, GBAuftrag.Lage, GBAuftragsart.Name AS Auftragsart, GBAuftrag.Betreff, GBVorgangsart.Kurzname,
GBVorgangsart.Name AS Vorgangsart, GBVorgang.Ende
FROM GBAuftrag INNER JOIN
GBAuftragsart ON GBAuftrag.[#Auftragsart] = GBAuftragsart.ID INNER JOIN
GBVorgang ON GBAuftrag.ID = GBVorgang.[#Auftrag] INNER JOIN
GBVorgangsart ON GBVorgang.[#Vorgangsart] = GBVorgangsart.ID
WHERE DATEDIFF(day, GBVorgang.Datum, CURRENT_TIMESTAMP)<=730
AND GBVorgang.Ende IS NOT NULL
AND GBVorgangsart.Kurzname = 'AVU0'
AND GBVorgangsart.Kurzname != 'ADB'
ORDER BY GBAuftrag.Nummer;
Nun ist es aber der Fall, dass die Kurzbezeichnungen für die Vorgänge ja in der gleichen Spalte der Tabelle liegen, also gibt er mir in der derzeitigen Lage nur die Daten aus, die vorhanden sind, aber zeigt mir nicht an, wo noch der Außendienst fehlt. Hier steh ich irgendwie auf dem Schlauch, wie man das kombinieren könnte und wäre über ein paar andere Ansichten oder Lösungsansätze sehr dankbar, denn die folgenden "Wünsche" der Kollegen werden nicht leichter von der Fomulierung
Dann danke ich Euch schonmal für eure Zeit und eure Ideen.
LG, Ithron