AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Suche bestimmten SQL Code

Ein Thema von Plague · begonnen am 28. Okt 2005 · letzter Beitrag vom 29. Okt 2005
Antwort Antwort
Seite 2 von 3     12 3      
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#11

Re: Suche bestimmten SQL Code

  Alt 28. Okt 2005, 12:56
leute, sum und count arbeiten auf zeilen.

im post oben steht was von spalten!

also eher so:
Code:
select spalte1+spalte2+spalte3 from tabellen name
spalten duerfen nicht null sein!
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#12

Re: Suche bestimmten SQL Code

  Alt 28. Okt 2005, 13:04
halt mal..

Zitat:
Das sind alles INT Datenbankspalten.
1.Spalte,2.Spalte ..
Spalte ist von oben nach unten

und er will jetzt die Werte der Spalten in EINER Zeile zusammenaddieren.

stimmt doch alles was wir hier gesagt haben.

Edit: Habs grad nochmal gelesen... Jetzt hab ich das nochmal anders verstanden:
in der ersten Spalte sind z.B. 5 Zeilen(Einträge)
in der zweiten Spalte sind 3 Zeilen(Einträge)

jetzt will er 8 als ergebnis, also die anzahl an einträgen. Geht das? es sind doch eigentlich immer gleich viele Zeilen oder? nur das irgendwo vielleicht nichts drin steht.
Martin Weber
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#13

Re: Suche bestimmten SQL Code

  Alt 29. Okt 2005, 00:58
Schön wäre es, wenn ich jetzt den Aufbau der besagten Tabelle kennen würde. Dann müsste ich mir nichts aus den Fingern saugen und du bräuchtest es nicht nochmal übersetzen ...

Angenommen deine Tabelle "Counters" hat den folgenden Aufbau

SQL-Code:
ID INT
Link01 INT
Link02 INT
Link03 INT
Link04 INT
Link05 INT
Link06 INT
Link07 INT
Link08 INT
Die Daten sehen z.B. so aus ...

SQL-Code:
ID Link01 Link02 Link03 Link04 Link05 Link06 Link07 Link08 KlicksGesamt
-------------------------------------------------------------------------------
0 NULL NULL 3 NULL 4 NULL NULL NULL -- ?? << suchst du dafür was ?
1 1 NULL NULL NULL 5 1 NULL NULL
2 NULL 2 5 12 NULL NULL 2 8

... und du möchtest generell wissen, wieviele Links bei einem Besuch geklickt wurden, dann würd auch das auch über ein berechnetes Feld lösen. Jedoch am besten über eine kleine Hilfsfunktion die ich dann anstatt des direkten Codes aufrufe ...

Eine einzelne Abfrage könnte in etwa so aussehen ...
SQL-Code:
SELECT CASE WHEN Link02 IS NOT NULL
                 THEN Link02
                 ELSE 0
            END
            +
            CASE WHEN Link03 IS NOT NULL
                 THEN Link03
                 ELSE 0
            END
            +
            CASE WHEN Link04 IS NOT NULL
                 THEN Link04
                 ELSE 0
            END
            AS
            [Klicks_auf_Produkte]
           ,
            CASE WHEN Link05 IS NOT NULL
                 THEN Link05
                 ELSE 0
            END
            +
            CASE WHEN Link06 IS NOT NULL
                 THEN Link06
                 ELSE 0
            END
            AS
            [Klicks_auf_Downloads]
FROM Counters
WHERE ID = 1
Falls definitiv keine NULL Werte vorkommen können, dann kannst du die CASE Verschachtelung auch weglassen.

Schöne Grüße,
Jens
  Mit Zitat antworten Zitat
omata

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

Re: Suche bestimmten SQL Code

  Alt 29. Okt 2005, 01:07
Moin,

das Problem mit NULL-Werten kann man sehr elegant mit der COALESCE-Funktion umgehen.

SQL-Code:
SELECT COALESCE(Link02, 0) +
       COALESCE(Link03, 0) +
       COALESCE(Link04, 0) AS [Klicks_auf_Produkte],
       COALESCE(Link05, 0) +
       COALESCE(Link06, 0) AS [Klicks_auf_Downloads]
  FROM Counters
  WHERE ID = 1
MfG
Thorsten
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#15

Re: Suche bestimmten SQL Code

  Alt 29. Okt 2005, 01:32
Zitat:
Moin,

das Problem mit NULL-Werten kann man sehr elegant mit der COALESCE-Funktion umgehen.
Stimmt
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

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

Re: Suche bestimmten SQL Code

  Alt 29. Okt 2005, 02:25
Zitat von omata:
das Problem mit NULL-Werten kann man sehr elegant mit der COALESCE-Funktion umgehen.
Oder mit isnull:
SQL-Code:
SELECT isnull(Link02, 0) +
       isnull(Link03, 0) +
       isnull(Link04, 0) AS [Klicks_auf_Produkte],
       isnull(Link05, 0) +
       isnull(Link06, 0) AS [Klicks_auf_Downloads]
  FROM Counters
  WHERE ID = 1
Gibts da einen Unterschied zwischen isnull und COALESCE
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#17

Re: Suche bestimmten SQL Code

  Alt 29. Okt 2005, 06:45
Zitat von Jelly:
Gibts da einen Unterschied zwischen isnull und COALESCE
Das erstere läßt sich auf alle Fälle aussprechen ohne sich die Zunge zu verdrehen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.611 Beiträge
 
#18

Re: Suche bestimmten SQL Code

  Alt 29. Okt 2005, 07:08
Wie kommt ihr auf einmal auf eine Quer berechnete Summe?

.oO(Ich liebe klare Fragestellungen ohne Beispiele...)
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#19

Re: Suche bestimmten SQL Code

  Alt 29. Okt 2005, 08:16
Zitat von Phoenix:
Wie kommt ihr auf einmal auf eine Quer berechnete Summe?

.oO(Ich liebe klare Fragestellungen ohne Beispiele...)
Erst verwirrend aber doch klar oder ?
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#20

Re: Suche bestimmten SQL Code

  Alt 29. Okt 2005, 09:18
Zitat von Jelly:
Gibts da einen Unterschied zwischen isnull und COALESCE
Jepp,

COALESCE gibe den ersten Wert einer Liste zurück, der nicht NULL ist. Wenn alle Werte NULL sind ist das Ergebnis egenfalls NULL.

SQL-Code:
  
COALESCE(NULL,NULL,NULL,2,3,NULL) --ergibt 2
COALESCE(NULL,NULL,NULL) --ergibt NULL
ISNULL ersetzt NULL-Ausdrücke durch einen gezielten Ersatzwert.

SQL-Code:
ISNULL(NULL,0) --ergibt 0
ISNULL( 'Egal'+CAST(NULL AS VARCHAR(5)) ,'') --ergibt ''

Schöne Grüße,
Jens
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 06:53 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