Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Prism Nur erstes Register aus zweiter Tabelle bekommen (https://www.delphipraxis.net/60314-nur-erstes-register-aus-zweiter-tabelle-bekommen.html)

gluglu 5. Jan 2006 10:08

Datenbank: InterBase • Version: 7.5 • Zugriff über: TIBQuery

Nur erstes Register aus zweiter Tabelle bekommen
 
Hallo Freunde !

Wie bekomme ich bei meinen Select nur das erste Register aus einen zweiten Query ?
So etwas wie:
SQL-Code:
Select PA.*, DE.INVOICENO from PAYMENTS PA
(Select INVOICENO from PAYMENTS_DETAIL DE Rows 1
where DE.PAYMENTNO = PA.PAYMENTNO)
Ich benutze die erste Tabelle als 'PAYMENTS', also Zahlung von Rechnungen, und eine zweite Tabelle wo jede ZahlungsNummer mit mehreren RechnungsNummern zugeteilt werden kann, aber beim Select möchte ich nur die erste zugewiesene Rechnungsnummer, also nur den ersten Register.
Danke

MarcoWarm 5. Jan 2006 10:17

Re: Nur erstes Register aus zweiter Tabelle bekommen
 
SQL-Code:
Select PA.*,
      (Select min(DE.INVOICENO) from PAYMENTS_DETAIL DE
        where DE.PAYMENTNO = PA.PAYMENTNO) INVOICENO
from PAYMENTS PA
das funktioniert aber nur, wenn deine INVOICENOs aufsteigend sind, d.h. wenn die kleinste auch gleichzeitig die erste ist. Wenn du eine ID vergeben hast (in PAYMENTS_DETAIL) dann kannst du auch die INVOICENO mit der kleinsten ID zurückgeben.

gluglu 5. Jan 2006 10:32

Re: Nur erstes Register aus zweiter Tabelle bekommen
 
Danke Marko,

Soweit gut. Ich werde dann versuchen später versuchen (wenn ich mit der programierung soweit bin ...) die erste INVOICENO noch nach Datum absuchen und somit nach Datum ordnen !

Danke

gluglu 5. Jan 2006 10:44

Re: Nur erstes Register aus zweiter Tabelle bekommen
 
Also doch noch nicht ganz !!

Zu meiner INVOICENO gehört auch noch eine INVOICE_SERIE :?

Also müsste ich zusätlich zur kleinste INVOICENO die dazugehörige INVOICE_SERIE aus PAYMENTS_DETAIL bekommen!
SQL-Code:
Select PA.*,
(Select INVOICENO, INVOICE_SERIE from PAYMENTS_DETAIL DE Rows 1 
where DE.PAYMENTNO = PA.PAYMENTNO)
from PAYMENTS PA


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 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 by Thomas Breitkreuz