Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Select Rechnen mit (null) Werten

Dieses Thema im Forum "Oracle" wurde erstellt von Dschingis, 2 April 2020.

  1. Dschingis

    Dschingis Neuer Benutzer

    Hallo zusammen,

    leider gibt mir meine Abfrage (null) zurück. Ich bekomme es nicht hin, dass er bei meiner Berechnung anstatt mit (null), mit 0 rechnet.
    In meiner Abfrage soll der Lagerbestand - kommissionierter Bestand (hier gbit es für einige Artikel keine Werte) - zu kommissionieren gerechnet werden
    Meine Abfrage:

    select o.order_nr, o.order_date, tabelle_article.aid, cust_view_bestand_kommlager.bestand, cust_view_best_kommissioniert.kommissioniert, cust_view_bestand_kommlager.bestand - cust_view_best_kommissioniert.kommissioniert - oi.quantity_remaining as lieferbar, oi.sales_article_proxy_guid, oi.item_id
    from tabelle_orderitem oi
    left join tabelle_order o on oi.order_guid = o.guid
    left join cust_view_bestand_kommlager on oi.sales_article_proxy_guid = cust_view_bestand_kommlager.article_proxy_guid
    left join cust_view_best_kommissioniert on oi.sales_article_proxy_guid = cust_view_best_kommissioniert.article_proxy_guid
    left join tabelle_article on oi.sales_article_proxy_guid = tabelle_article.article_proxy_guid

    Mein Ergebnis sieht dann so aus:

    upload_2020-4-2_14-36-48.png

    Kann mir jemand auf dei Sprünge helfen?

    Vielen Dank!

    Grüße

    Dschingis
     
  2. akretschmer

    akretschmer Datenbank-Guru

    suchst Du coalesce()?

    Code:
    test=*# select coalesce(null,0) as demo;
     demo
    ------
        0
    (1 row)
    
     
  3. castorp

    castorp Datenbank-Guru

    Schwer zu sagen. Die Spalte cust_view_best_kommissioniert.kommissioniert kommt ja über einen outer join dazu. Wenn die Werte alle NULL sind, heisst das entweder, dass es keinen Eintrag in cust_view_best_kommissioniert gibt für die Werte von oi.sales_article_proxy_guid. Oder es heisst, dass in der Tabelle die Werte einfach NULL sind.

    Die einfache Antwort wäre: verwende coalesce() um NULL in 0 zu verwandeln: coalesce(cust_view_best_kommissioniert.kommissioniert, 0) aber ich fürchte das bekämpft nur das Symptom, aber nicht die Ursache für die NULL Werte
     
    Walter gefällt das.
  4. Dschingis

    Dschingis Neuer Benutzer

    Vielen Dank!
    Du hast mir geholfen - genau das habe ich gesucht.
    Thx!!!!
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden