Thema: Delphi Join über 3 Tabellen

Einzelnen Beitrag anzeigen

DelphiDeveloper

Registriert seit: 9. Apr 2003
Ort: Köln
256 Beiträge
 
Delphi XE2 Enterprise
 
#14

Re: Join über 3 Tabellen

  Alt 5. Mär 2004, 10:38
ich habe mal eine stored proc auf interbase gemacht, mit der muesste es aber
jetzt gehen

Code:

CREATE PROCEDURE GET_ARTIKEL (
    IN_ID_KUNDE INTEGER)
RETURNS (
    OUT_NR INTEGER,
    OUT_BEZ VARCHAR(30),
    OUT_ID INTEGER,
    OUT_PREIS NUMERIC(9,2))
AS
/* HILFSVARIABLEN FUER ERSTE ABFRAGE */
DECLARE VARIABLE OUT_HNR INTEGER;
DECLARE VARIABLE OUT_HBEZ VARCHAR(30);
DECLARE VARIABLE OUT_HID INTEGER;
DECLARE VARIABLE OUT_HPREIS NUMERIC(9,2);
BEGIN
 FOR SELECT ART.NR,ART.BEZ, SP.ID, SP.VP
      FROM ART , SP
      WHERE (ART.ID=SP.ID_ART ) AND
             SP.ID_KUNDE = :IN_ID_KUNDE
      INTO :OUT_HNR, :OUT_HBEZ, :OUT_HID, :OUT_HPREIS
 DO
  /* ist der preis <> 0 dann gebe hilfsvariablen aus */
  IF (OUT_HPREIS <> 0) THEN
  BEGIN
    OUT_NR = :OUT_HNR;
    OUT_BEZ = :OUT_HBEZ;
    OUT_ID = :OUT_HID;
    OUT_PREIS = :OUT_HPREIS;
    SUSPEND;
  END
  ELSE
  BEGIN
    /* preis offensichtlich 0 -> hole preis von artpg direkt in ausgabevariable */
    FOR SELECT ART.NR,ART.BEZ, ARTPG.ID, ARTPG.PG
    FROM ART, ARTPG
    WHERE (ART.ID = ARTPG.ID_ART) AND ART.NR = :OUT_HNR /* das ist die art.nr bon oben */
    INTO :OUT_NR, :OUT_BEZ, :OUT_ID, :OUT_PREIS
   DO
    SUSPEND;
  END


END
  Mit Zitat antworten Zitat