AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken brauche dringend HILFE bei SQL-Abfrage
Thema durchsuchen
Ansicht
Themen-Optionen

brauche dringend HILFE bei SQL-Abfrage

Ein Thema von polondo · begonnen am 22. Apr 2006 · letzter Beitrag vom 22. Apr 2006
Antwort Antwort
polondo

Registriert seit: 1. Sep 2005
84 Beiträge
 
#1

brauche dringend HILFE bei SQL-Abfrage

  Alt 22. Apr 2006, 13:54
Hi,

ich hab folgendes Problem beim ausführen dieser Abfrage:
SQL-Code:
select distinct invoicepos.quantity as output,productbookingpos.quantity as income from invoicepos,productbookingpos
where invoicepos.quantity = (select sum(quantity)from invoicepos where prod_id = 5453)
and productbookingpos.quantity = (select sum(quantity)from productbookingpos where prod_id = 5453)
Wenn beide Abfrageobjekte(output & income) Ergebnisse haben bekomme ich beide Werte angezeigt. Wenn auch nur EINER dieser objekte KEIN Ergebnis
enthält bekomme ich überhaupt NICHTS angezeigt. Das heißt es gibt mir nur dann ein Ergebniss zurück wenn beide Abfrage-Objekte einen Wert enthalten.

1. Gibt es eine Möglichkeit in der Abfrage festzulegen das ein "0" beispielsweise genommen werden soll (für das entprechende Abfrage-Objekt) wenn kein Ergebnis für eines der Abfrage-Objekte vorliegt?

2. Ist es möglich während der Abfrage eine Differenz beider Werte zu bilden und dann als "Result" beispielsweise zurückzugeben?
Bisher habe ich immer eine 2te Abfrage mit den gegebenen Werten gestartet um dies zu bewerkstelligen

Für jede Antwort bin ich sehr dankbar

mfg.
R.
  Mit Zitat antworten Zitat
22. Apr 2006, 14:12
Dieses Thema wurde von "r_kerber" von "Programmieren allgemein" nach "Datenbanken" verschoben.
Da es um SQL-Statements geht gehört dieses Thema in das Forum Datenbanken.
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: brauche dringend HILFE bei SQL-Abfrage

  Alt 22. Apr 2006, 14:21
Hallo polondo,

welche Datenbank?

was spricht gegen ein OR?
SQL-Code:
SELECT DISTINCT invoicepos.quantity AS output,
                productbookingpos.quantity AS income,
                ABS( COALESCE(invoicepos.quantity, 0)
                    - COALESCE(productbookingpos.quantity, 0)) AS diff
FROM invoicepos, productbookingpos
WHERE invoicepos.quantity = (SELECT SUM(quantity)
                             FROM invoicepos
                             WHERE prod_id = 5453)
   OR productbookingpos.quantity = (SELECT SUM(quantity)
                                    FROM productbookingpos
                                    WHERE prod_id = 5453)
MfG
Thorsten
  Mit Zitat antworten Zitat
polondo

Registriert seit: 1. Sep 2005
84 Beiträge
 
#4

Re: brauche dringend HILFE bei SQL-Abfrage

  Alt 22. Apr 2006, 16:58
danke für die antwort!

ich kannte garnicht den befehl des COALESCE. und das mit dem or scheint garnicht mal so schlecht zu sein. entweder er findet das eine oder das andere eben. da hast du schon recht. allerdings scheint die ganze befehfolge bei mir in eine art schleife zu geraten. aber ich danke dir trotzdem da ich dies nun als anstoss für weitere versuche nehmen kann!

btw. ich arbeite mit msql-server 2000



mfg
R.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz