![]() |
Datenbank: DB2 • Version: 7 • Zugriff über: SQL Direct
Subselect auf einen Treffer zulassen
Hallo zusammen,
folgendes Problem: Tabelle verm01 sind die Stammdaten von Vermittlern, Verm04 sind die Vermittlernummer je Gesellschaft. Es können aber auch mehrere Nummern je Gesellschaft vorhanden sein. Mit der folgenden Anweisung möchte ich eine Liste erstellen. select a.VERMNR,a.NAME ||', '|| a.VORNAME VermName,a.Filiale, (select GeVermNr from vd.verm04 b where b.vermnr = a.vermNr and b.Gesellsch = 'VKB') VKB_Nr, (select GeVermNr from vd.verm04 d where d.vermnr = a.vermNr and d.Gesellsch = 'BK' ) BK_Nr, (select GeVermNr from vd.verm04 c where c.vermnr = a.vermNr and c.Gesellsch = 'BAY') LV_Nr from VD.VERM01 a order by a.filiale Das Haut prima hin, bis der erste Vermittler mit mehr als einer Nummer je Gesellschaft auftaucht. Wie kann ich die Trefferzahl um Subselect auf eins begrenzen? Mit "fetsh first row only" bekomme ich Fehlermeldungen. ??????????? Kalli |
Re: Subselect auf einen Treffer zulassen
Hallo Kalli,
wie wäre es so...
SQL-Code:
Aber ist das sinnvoll? Wenn es mehrere Zeilen gibt, welche lässt man weg? Ist es da nicht sinnvoller auch alle auszugeben...
SELECT a.vermnr, a.name ||', '|| a.vorname VermName, a.Filiale,
(SELECT MIN(GeVermNr) FROM vd.verm04 b WHERE b.vermnr = a.vermNr AND b.Gesellsch = 'VKB') VKB_Nr, (SELECT MIN(GeVermNr) FROM vd.verm04 d WHERE d.vermnr = a.vermNr AND d.Gesellsch = 'BK' ) BK_Nr, (SELECT MIN(GeVermNr) FROM vd.verm04 c WHERE c.vermnr = a.vermNr AND c.Gesellsch = 'BAY') LV_Nr FROM vd.verm01 a ORDER BY a.filiale
SQL-Code:
Gruss
SELECT a.vermnr, a.name ||', '|| a.vorname VermName, a.Filiale,
b.GeVermNr VKB_Nr, d.GeVermNr BK_Nr, c.GeVermNr LV_Nr FROM vd.verm01 a LEFT JOIN vd.verm04 b ON a.vermnr = b.vermNr AND b.gesellsch = 'VKB' LEFT JOIN vd.verm04 c ON a.vermnr = c.vermNr AND c.gesellsch = 'BAY' LEFT JOIN vd.verm04 d ON a.vermnr = d.vermNr AND d.gesellsch = 'BK' ORDER BY a.filiale Thorsten |
Re: Subselect auf einen Treffer zulassen
Hallo Thorsten
vielen Dank für die Hilfe. Es macht genau das, was ich suche. Es hätte mir gereicht, wenn irgend eine Nummer angezeigt worden wäre. So ist es allerdings besser. Jetzt muss ich nur noch verstehen, was und wie die Abfrage funktioniert. Gibt es einen guten Buchtipp zu dem Thema SQL? Gruß Kalli |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz