Announcement

Collapse
No announcement yet.

Zwei abfragen Verknüpfen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zwei abfragen Verknüpfen

    Hallo zusammen,
    ich habe folgende Selects:

    Code:
    SELECT SUBSTR(DSBL_FIN,1,3) as BAUREIHE,  COUNT(DISTINCT DSBL_FIN) as SERVICES_TOTAL  
    FROM V3GRDSBL where 
    DSBL_SERVICE_KIND = '1' 
    AND DAYS('2001-09-30') - DAYS(DSBL_D_FIRST_REG) between 365 AND 1460 
    AND DSBL_EXT_DLR_CD is null  
    AND DSBL_COUNTRY_CD = '53730' GROUP BY SUBSTR(DSBL_FIN,1,3) with ur;
    Code:
    SELECT SUBSTR(DSBL_FIN,1,3) as BAUREIHE,  COUNT(DISTINCT DSBL_FIN) as SERVICES  
    FROM V3GRDSBL where DSBL_SERVICE_DATE BETWEEN '2000-10-01' and '2001-09-30' 
    AND DSBL_SERVICE_KIND = '1' 
    AND DAYS('2001-09-30') - DAYS(DSBL_D_FIRST_REG) between 365 AND 1460 
    AND DSBL_EXT_DLR_CD is null  
    AND DSBL_COUNTRY_CD = '53730' GROUP BY SUBSTR(DSBL_FIN,1,3)
    with ur;
    Ich möchte diese beiden aber aufgrund von performance in einen Packen. Der unterschied bei der Abfrage ist nur einmal mit Datumseinschränkung und einmal ohne.

    Ergebnis sollte dann so aussehen:
    Baureihe, Services, Services_Total

    ist das möglich?
    Vielen Dank im voraus

  • #2
    Originally posted by msamesch View Post
    Hallo zusammen,
    ich habe folgende Selects:

    Code:
    SELECT SUBSTR(DSBL_FIN,1,3) as BAUREIHE,  COUNT(DISTINCT DSBL_FIN) as SERVICES_TOTAL  
    FROM V3GRDSBL where 
    DSBL_SERVICE_KIND = '1' 
    AND DAYS('2001-09-30') - DAYS(DSBL_D_FIRST_REG) between 365 AND 1460 
    AND DSBL_EXT_DLR_CD is null  
    AND DSBL_COUNTRY_CD = '53730' GROUP BY SUBSTR(DSBL_FIN,1,3) with ur;
    Code:
    SELECT SUBSTR(DSBL_FIN,1,3) as BAUREIHE,  COUNT(DISTINCT DSBL_FIN) as SERVICES  
    FROM V3GRDSBL where DSBL_SERVICE_DATE BETWEEN '2000-10-01' and '2001-09-30' 
    AND DSBL_SERVICE_KIND = '1' 
    AND DAYS('2001-09-30') - DAYS(DSBL_D_FIRST_REG) between 365 AND 1460 
    AND DSBL_EXT_DLR_CD is null  
    AND DSBL_COUNTRY_CD = '53730' GROUP BY SUBSTR(DSBL_FIN,1,3)
    with ur;
    Ich möchte diese beiden aber aufgrund von performance in einen Packen. Der unterschied bei der Abfrage ist nur einmal mit Datumseinschränkung und einmal ohne.

    Ergebnis sollte dann so aussehen:
    Baureihe, Services, Services_Total

    ist das möglich?
    Abfrage parametriesieren (wie immer man das in Deinem SQl-Dialekt macht)
    ungefähr so
    [Highlight="SQL"]SELECT SUBSTR(DSBL_FIN,1,3) as BAUREIHE
    , COUNT(DISTINCT DSBL_FIN) as SERVICES
    FROM V3GRDSBL
    WHERE ( (DSBL_SERVICE_DATE >= ate_from) OR (ate_from IS NULL))
    AND ((DSBL_SERVICE_DATE < ate_to) OR (ate_to IS NULL)
    )
    AND DSBL_SERVICE_KIND = '1'
    AND DAYS(ate_To) - DAYS(DSBL_D_FIRST_REG) between 365 AND 1460
    AND DSBL_EXT_DLR_CD is null
    AND DSBL_COUNTRY_CD = '53730'
    GROUP BY SUBSTR(DSBL_FIN,1,3)[/Highlight]

    PS:Formatierung von SQL in Beiträgen

    Comment


    • #3
      Hallo,
      Originally posted by msamesch View Post
      ...Ich möchte diese beiden aber aufgrund von performance in einen Packen. Der unterschied bei der Abfrage ist nur einmal mit Datumseinschränkung und einmal ohne.
      Der Sinn erschließt sich mir nicht ganz, bzw. verstehe ich nicht was du mit "in einen Packen" meinst. Was ist im Zusammenhang mit SQL ein "Packen"? Ich kann mir einen Packen Holz oder einen Packen Klamotten vorstellen, aber nicht einen Packen Abfrage ...
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment

      Working...
      X