Forum: Datenbanken
by freejay,
11. Feb 2019
Ja, damit hast Du vermutlich recht.
Forum: Datenbanken
by freejay,
11. Feb 2019
Ok, das habe ich übersehen. Das ist ja aber für die Performance ganz schlecht. Ich würde daher dringend empfehlen, diesen Wert als echtes Tabellenfeld einzuführen. Ja, das ist irgendwie redundant, aber manchmal, wenn's um die Performance geht ist das die einzige wirklich gut funktionierende Lösung.
Forum: Datenbanken
by freejay,
11. Feb 2019
PS: Ich gehe doch mal davon aus, dass der Themenersteller in seiner Tabelle auf jeden Fall einen Index auf `AuftragsNr` hat...
Forum: Datenbanken
by freejay,
11. Feb 2019
Also ich würde folgendes tun:
1. Ein Feld "Jahr" einführen und entsprechend füllen
2. Einen Index für das Feld "Jahr" anlegen
3. Anschließend folgende Abfrage ausprobieren:
SELECT * FROM tabelle a
INNER JOIN (
SELECT DISTINCT AuftragNr FROM Tabelle where Jahr = 2018) i ON a.AuftragNr = i.AuftragNr
ORDER BY auftragnr, arbeitsgang