![]() |
richtige bedingung für meine sql abfrage ??
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 |
Re: richtige bedingung für meine sql abfrage ??
Dieser Teil deiner Abfrage
SQL-Code:
macht ja überhaupt keinen Sinn, da es 4 mal das Gleicher ergibt...
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]...
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. |
Re: richtige bedingung für meine sql abfrage ??
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 |
Re: richtige bedingung für meine sql abfrage ??
Zitat:
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. |
Re: richtige bedingung für meine sql abfrage ??
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.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz