AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi richtige bedingung für meine sql abfrage ??

richtige bedingung für meine sql abfrage ??

Ein Thema von stonimahoni · begonnen am 10. Dez 2004 · letzter Beitrag vom 10. Dez 2004
Antwort Antwort
stonimahoni

Registriert seit: 12. Okt 2004
146 Beiträge
 
Delphi 7 Professional
 
#1

richtige bedingung für meine sql abfrage ??

  Alt 10. Dez 2004, 10:00
hi leute

hab mal wieder ein problem

ich hab mir ne sql abfrage gebastelt aber bekomm den letzten entscheidenen punkt nicht zustande

anbei mal der code :
SQL-Code:
SELECT DISTINCTROW auftrag.Wgr, auftrag.TatGarantie, Sum(auftrag.Gesamtkostrep) AS [Summe von Gesamtkostrep], Sum(auftrag.Gesamtkostrep) AS [summe von garantie2], Sum(auftrag.Gesamtkostrep) AS [summe von kulanz], Sum(auftrag.Gesamtkostrep) AS [summe von kulanz2]
FROM auftrag
GROUP BY auftrag.Wgr, auftrag.TatGarantie
HAVING (((auftrag.TatGarantie)="garantie" Or (auftrag.TatGarantie)="garantie2" Or (auftrag.TatGarantie)="kulanz" Or (auftrag.TatGarantie)="kulanz2"));

und nun das eigentliche problem :
ich bekomme (noch) bei allen summen jeweils die gleichen zahlen angegeben
ich hätte aber gern dass ich in der spalte "Summe von Gesamtkostrep" nur die summe von "garantie" angezeigt bekomme. in der spalte von "summe von garantie2" nur die summe von "garantie2" usw.

in der spalte tatgarantie werden mit halt die einzelnen fälle angezeigt : garantie, garantie2 , kulanz und kulanz2
in der spalte "Summe von Gesamtkostrep" möchte ich nun die summe einer warengruppe angezeigt bekommen die die tatgarantie "garantie" hat und nix anderes

ihr versteht ? ( muss mir also nen filter basteln )
kurz als beschreibung nebenher :
ich hab mehrere warengruppen und nach denen wird geordnet. so und nun habe ich eine bestimmte warengruppe und möchte von dieser im fall garantie die summe der ganzen garantiefälle sehen und keine anderen ( also dort soll dann nicht noch garantie2 usw ) angezeigt werden.

alles doof so zu erklären - sry

hoffe ihr könnt mir nen tipp geben

weil meine versuche in access im abfragenentwurf sind bisher kläglich gescheitert


mfg

stoni
Carsten
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: richtige bedingung für meine sql abfrage ??

  Alt 10. Dez 2004, 10:06
Dieser Teil deiner Abfrage
select ... Sum(auftrag.Gesamtkostrep) AS [Summe von Gesamtkostrep], Sum(auftrag.Gesamtkostrep) AS [summe von garantie2], Sum(auftrag.Gesamtkostrep) AS [summe von kulanz], Sum(auftrag.Gesamtkostrep) AS [summe von kulanz2]... macht ja überhaupt keinen Sinn, da es 4 mal das Gleicher ergibt...

Wenn du also nur über Tatgarantie="Garantie" die Summe bilden willst, dann musst du in deinem "having" Teil, auch nur die über "Garantie" filtern. Also lass mal die "OR" Bedingung dort weg.
  Mit Zitat antworten Zitat
stonimahoni

Registriert seit: 12. Okt 2004
146 Beiträge
 
Delphi 7 Professional
 
#3

Re: richtige bedingung für meine sql abfrage ??

  Alt 10. Dez 2004, 10:26
hmmmm

wie gesagt ich hatte gestern alles mögliche probiert und das war der letzte stand der dinge als ich aufgehört habe

ich versuchs mal anders zu erklären :
ich habe 6 spalten - 1.) warengruppe 2.) tatgarantie 3.) summe von garantie 4.) summe von garantie2 5.) summe von kulanz 6.) summe von kulanz2

so ...jetzt mcöhte ich mir in der spalte 3 die summe der warengruppe 678 z.b. anzeigen lassen wo diese warengruppe halt in der tabelle in der spalte "tatgarantie" den wert "garantie" hat

und in der spalte summe von garantie2 möchte ich das ganze in grün - sprich er soll mir in meinem bsp zur warengruppe 678 die summe aller in der tabelle hinterlegten werte anzeigen bei denen die tatgarantie den wert "garantie2" hat und sonst keine werte.


kann gut sein dass ich die sql abfrage komplett neu aufbauen muss.
aber ich suche den richtigen ansatz dazu.


mfg

stoni
Carsten
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: richtige bedingung für meine sql abfrage ??

  Alt 10. Dez 2004, 10:40
Zitat von stonimahoni:
kann gut sein dass ich die sql abfrage komplett neu aufbauen muss.
aber ich suche den richtigen ansatz dazu.
Oder deine gesamte Tabellenstruktur. Ich glaub nicht daß du so dein Ziel erreichst.

Das Problem bei dir ist, daß du viele Spalten hast, wo deine Zahlenwerte drin stehen, du aber in SQL nur zeilenweise filtern und gruppieren kannst. Ich weiss also bei deiner Struktur so keine Lösung.

wenn du aber eine getrennte Tabelle machst mit einer Spalte "Wert float" und einer Spalte "Sparte int", könnt die Abfrage über die 2 Tabellen funktionieren. Was du da also machst, ist statt deine Werte in Spalten auszudehnen, du jetzt über Zeilen verfährst, und eine 1:n Beziehung zwischen deinen 2 Tabellen herstellst.
  Mit Zitat antworten Zitat
Hasse

Registriert seit: 24. Sep 2004
Ort: Bad Kösen
35 Beiträge
 
Delphi 7 Professional
 
#5

Re: richtige bedingung für meine sql abfrage ??

  Alt 10. Dez 2004, 10:51
stoni sein Problem ist glaub ich, dass er mit der Abfrage das Feld gesamtkostrep in Teilsummen nach den genannten Bedingungen auf die Spalten aufteilen will. Das funktioniert so nicht.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:26 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