c0nsp1r4cy
Goto Top

MS SQL - Query Ergebnis (eine Zeile) aufgeteilt in zwei Zeilen (je relevante Spalte)

Guten Tag allerseits,

ich stehe ein kleinwenig auf dem Schlauch.

Anforderung:
Im Dokument gibt (kopfseitig) Rabatt- / und/oder Frachtkosten.

Das bedeutet in der Tabelle existiert nur eine Zeile, weil die beiden Werte in verschiedenen Spalten stehen.
(Select * from Dokument where (Rabatt > 0 OR Fracht > 0)) - vereinfachte Beschreibung

Ergebnis: 1 Zeile

Aber ich benötige für den Rabatt und die Fracht eine eigene Zeile.

Per Union ließe sich das ja nun recht einfach realisieren, aber gibt es noch eine Möglichkeit diese Anforderung mit weniger Code zu erfüllen?

Vielen Dank vorab für Eure Hilfe!

Content-ID: 369255

Url: https://administrator.de/forum/ms-sql-query-ergebnis-eine-zeile-aufgeteilt-in-zwei-zeilen-je-relevante-spalte-369255.html

Ausgedruckt am: 22.12.2024 um 02:12 Uhr

SlainteMhath
SlainteMhath 26.03.2018 um 11:41:09 Uhr
Goto Top
Moin,

hast du denn keine Möglichkeit das im Dokument/Report aufzuteilen? Alles andere als dein Select löst zusätzliche (Unsinnige) DB Abfragen aus, was man eigentlich vermeiden möchte.

Aber wenn, dann würde ich das auch mit einem UNION machen.

lg,
Slainte
ukulele-7
ukulele-7 26.03.2018 um 14:11:46 Uhr
Goto Top
Ohne UNION wäre es nur sehr umständlich möglich, da ist UNION schon sinnvoller.

SQL ist aber auch nicht dazu gedacht aus einem Datensatz einen Report zu basteln sondern eigentlich gilt 1 Zeile = 1 Datensatz. Es wäre also wirklich besser das im Report zu trennen.
c0nsp1r4cy
c0nsp1r4cy 27.03.2018 um 07:17:53 Uhr
Goto Top
Guten Morgen,

da gebe ich Euch grundsätzlich recht.

Ich bastel derzeit eine Maske, die die aktuellen Verkaufszahlen direkt beim Aufruf präsentiert und leider ist es nicht ausreichend die Tabellenzeilen zu verrechnen und die Ergebnisse zu veranschaulichen, denn ohne Berücksichtigung der kopfseitig vergebenen Rabatte / Frachtkosten stimmen diese nicht.

Verkaufspositionen (Tabellenzeilen) + Fracht & Rabatt (Kopfzeile)

Ich habe es nun doch über UNION gelöst. Die Performance ist gut, aber der Code ist unübersichtlich.

Trotzdem vielen Dank!