UNION Abfrage

15/12/2009 - 17:56 von Lupus Goebel | Report spam
Hallöschen,

habe da eine UNION Abfrage bei der ich nicht das Ergebnis bekomme wie
ich es gerne möchte.

Hier die SQL
\\\
SELECT
ArtikelNr, DLA, Verbrauchstelle, Artikel, Anzahl, Menge, Einheit,
Hinweis, ServicezeitStart, ServicezeitEnde
FROM tbl_ArtikelEvent

UNION SELECT
ArtikelNr, DLA, Verbrauchstelle, Artikel, 0 as Anzahl, Menge, Einheit,
"" as Hinweis, "" as ServicezeitStart, "" as ServicezeitEnde
FROM tbl_Artikelstamm;
///

Ich bekomme manche Artikel dann doppelt, weil in der Tabelle
<tbl_ArtikelEvent> ein paar Eintràge sind. Diese Artikel werden dann
eben doppelt angezeigt.

Was ich erreichen will:
Ich benötige eine Liste von Artikel bei denen z.B. eine Anzahl angegeben
ist, in dieser Liste sollen aber auch alle anderen Artikel aus der
Tabelle <tbl_Artikelstamm> erscheinen.

Das benötige ich für einen Ausdruck, der Bericht liegt dann in der Küche
und es soll nach getragt werden, was ausser den bestellten Artikel noch
verbraucht wurde.

So meine Lieben, wie mache ich die SQL so das ich das bekomme was ich
möchte?

MfG - Lupus Goebel
Der Sumpf- Morasthobbybastler und Anfaenger mit
Wissensdurst (http://www.lupusdw.de http://foto.lupusdw.de)
Urlaub macht man in Irland: http://www.eaglesnest-bb.com/
 

Lesen sie die antworten

#1 Peter Doering
15/12/2009 - 18:32 | Warnen spam
Hallo,

Lupus Goebel wrote:

habe da eine UNION Abfrage bei der ich nicht das Ergebnis bekomme wie
ich es gerne möchte.

Hier die SQL
\\\
SELECT
ArtikelNr, DLA, Verbrauchstelle, Artikel, Anzahl, Menge, Einheit,
Hinweis, ServicezeitStart, ServicezeitEnde
FROM tbl_ArtikelEvent

UNION SELECT
ArtikelNr, DLA, Verbrauchstelle, Artikel, 0 as Anzahl, Menge, Einheit,
"" as Hinweis, "" as ServicezeitStart, "" as ServicezeitEnde
FROM tbl_Artikelstamm;
///

Ich bekomme manche Artikel dann doppelt, weil in der Tabelle
<tbl_ArtikelEvent> ein paar Eintràge sind. Diese Artikel werden dann
eben doppelt angezeigt.

Was ich erreichen will:
Ich benötige eine Liste von Artikel bei denen z.B. eine Anzahl angegeben
ist, in dieser Liste sollen aber auch alle anderen Artikel aus der
Tabelle <tbl_Artikelstamm> erscheinen.



Soweit ich dich verstehe, ist der Outer Join dein Freund:

SELECT
A.ArtikelNr, A.DLA, A.Verbrauchstelle, A.Artikel, E.Anzahl,
E.Menge, E.Einheit, E.Hinweis, E.ServicezeitStart, E.ServicezeitEnde
FROM tbl_Artikelstamm AS A
LEFT JOIN tbl_ArtikelEvent AS E ON
A.ArtikelNr = E.ArtikelNr;

(Luftcode)

Allerdings werden evtl. mehrere Eintraege pro Artikel angezeigt, wenn
mehrere Eintraege in tbl_ArtikelEvent existieren.

Gruss - Peter


Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen