AGB  ·  Datenschutz  ·  Impressum  







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

SQL -> Zwei Spaltenwerte vergleichen

Ein Thema von HolgerCW · begonnen am 8. Apr 2008 · letzter Beitrag vom 8. Apr 2008
Antwort Antwort
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

SQL -> Zwei Spaltenwerte vergleichen

  Alt 8. Apr 2008, 11:16
Hallo zusammen,

wie kann ich in einer SQl - Abfrage zwei Spaltenwerte (Date) vergleichen. Wenn SpalteA grösser oder gleich SpalteB soll '1' ausgegeben werden.

Gruss

Holger
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: SQL -> Zwei Spaltenwerte vergleichen

  Alt 8. Apr 2008, 11:29
Mit Query.FieldByName('...') kommst Du an die Spalten ran.
Oder Query.Fields[x] geht es auch.

Dann kannst Du machen:
if Query.FieldByName('Spalte1').AsInteger < Query.FieldByName('Spalte2').AsInteger then

/edit:
Der Beitrag wäre vermutlich in "Datenbanken" besser aufgehoben.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#3

Re: SQL -> Zwei Spaltenwerte vergleichen

  Alt 8. Apr 2008, 11:39
Vielen dank,

aber ich meinte eigentlich eine Abfrage in einer SQL-Abfrage ...

Gruss

Holger
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#4

Re: SQL -> Zwei Spaltenwerte vergleichen

  Alt 8. Apr 2008, 11:41
Hi,

in einer SQL-Abfrage würde ich entweder den nativen Datum-Typ verwenden und direkt vergleichen.
Oder einen String aus dem Datum aufbauen nach dem Muster "YYYYMMDD" - den kann man dann auch vergleichen...
Gruß
Norman
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#5

Re: SQL -> Zwei Spaltenwerte vergleichen

  Alt 8. Apr 2008, 11:48
OK,

nur wie wird in SQL verglichen. Mit welchem Befehl ?
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#6

Re: SQL -> Zwei Spaltenwerte vergleichen

  Alt 8. Apr 2008, 11:54
z.B. MSSQL
select case when Date1 >= Date2 then 1 else 0 end
Gruß
Norman
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#7

Re: SQL -> Zwei Spaltenwerte vergleichen

  Alt 8. Apr 2008, 12:20
Das klappt noch nicht ganz. Da ich ja direkt in der SQL-ABfrage die Spalten der Tabelle vergleichen möchte.

Muss da nicht irgendwo noch ein FROM rein ?

So sieht es zur Zeit aus:

Delphi-Quellcode:
SELECT VAM.DATE_MASTERDATA, VAM.DATE_CONFIGDATA, VAM.DATE_UPDATE, VAM.DATE_LASTCONNECT, VAM.DATE_GPRSCONNECT, VAM.USERID,

(SELECT CASE WHEN VAM.DATE_LASTCONNECT > VAM.DATE_GPRSCONNECT THEN 'ELSE 'PEND) AS GPRS

FROM ST_VAM VAM

Gruss

Holger
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: SQL -> Zwei Spaltenwerte vergleichen

  Alt 8. Apr 2008, 12:23
Zitat:
Muss da nicht irgendwo noch ein FROM rein ?
Natürlich
select case when Date1 >= Date2 then 1 else 0 end as <Feldname> from <tabelle>;
Markus Kinzler
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#9

Re: SQL -> Zwei Spaltenwerte vergleichen

  Alt 8. Apr 2008, 12:24
Natürlich, das war doch nur ein Codefragment...


SQL-Code:
SELECT
  VAM.DATE_MASTERDATA,
  VAM.DATE_CONFIGDATA,
  VAM.DATE_UPDATE,
  VAM.DATE_LASTCONNECT,
  VAM.DATE_GPRSCONNECT,
  VAM.USERID,
  (CASE WHEN VAM.DATE_LASTCONNECT > VAM.DATE_GPRSCONNECT THEN 'ELSE 'PEND) AS GPRS
FROM ST_VAM VAM
Gruß
Norman
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#10

Re: SQL -> Zwei Spaltenwerte vergleichen

  Alt 8. Apr 2008, 12:30
Alles klar,

kam einfach nicht drauf das select weg zu lassen.

Gruss

Holger
  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 11:45 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