Einzelnen Beitrag anzeigen

Berni68

Registriert seit: 9. Jan 2006
Ort: Villingen
162 Beiträge
 
Delphi XE5 Professional
 
#1

rekursives select

  Alt 13. Mär 2011, 15:48
Datenbank: firebird • Version: 2.1 • Zugriff über: IBDAC
Hallo zusammen,

ich habe ein Problem bei folgender select Anweisung:
Code:
with recursive x (id, ref, Anz, Artikel) as
(
select
  s.modell, s.referenz, s.anz, m.partnumber
  from stueckliste s
  join modelle m on m.id = s.referenz
  where s.modell = :id
union all
select
  s.modell, s.referenz, s.anz, m.partnumber
  from stueckliste s
  join modelle m on m.id = s.referenz
  inner join x on s.modell = x.ref
)
select * from x
die prinzipiell die gewünschten Datensätze liefert z.B.:
Code:
ID   REF   ANZ   ARTIKEL
646   680   4   ohne
646   682   2   500738
646   681   4   ohne
646   683   1   500740
646   684   1   500741
646   685   1   500742
646   687   1   500744   <-diese Zeile unterdrücken
687   686   3   500743   x
687   645   1   500690   x
687   688   1   500747   x
687   689   1   500748   x
687   736   2   500793   x
646   690   1   500746
646   696   4   500756
646   727   2   500761
646   728   2   500762
Jedoch sollte die gekennzeichnete Zeile nicht enthalten sein,
da sie durch die folgenden mit x gekennzeichneten Zeilen vertreten ist (Stücklisten/Teilelisten-Thema)
Als Kriterium könnte man sagen:
Zeile nicht ausgeben wenn Wert der Spalte REF in Spalte ID vorhanden ist.
Aber ich krieg das einfach nicht in das SQL-Statement.
Bernhard
  Mit Zitat antworten Zitat