Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Use "as" in WHERE clause  (gelezen 1919 keer)

0 leden en 1 gast bekijken dit topic.

Offline Myclos81

  • Ervaren lid
  • ***
  • Berichten: 272
  • Oplossing.be
Use "as" in WHERE clause
« Gepost op: 26 februari 2013, 16:19:35 »
Beste,

mss een domme vraag maar ben verwonderd dat dit niet lukt in SQL server:

SELECT CONVERT(VARCHAR(10), dateadd(day, 190, datum03), 112) as beginDatum, convert(varchar(10), GETDATE(), 112) as vandaag
WHERE beginDatum < vandaag

Die "beginDatum" (en "vandaag") is de naam die ik gegeven heb met de "AS" maar deze kent hij dan niet meer in de WHERE clause ?
P4VT8+ , GeForce 6200, Windows XP Prof SP2, Intel(R) Pentium(R) 4 CPU 2.80GHz, 768 MB RAM, HDD:80 + 80 GB, NTFS, telenet, AVG antivirus, Internet Explorer 6.0, Outlook Express

Offline Firebirdy

  • Ambassadeur
  • *****
  • Berichten: 2.408
  • Geslacht: Man
Re: Use "as" in WHERE clause
« Reactie #1 Gepost op: 26 februari 2013, 19:08:26 »
Hallo Myclos,

Dat is correct, de aliassen zijn enkel bruikbaar in de resultset. Je zou het kunnen omzeilen door er een inner query van te maken, bijvoorbeeld:

SELECT *
FROM (
SELECT CONVERT(VARCHAR(10), DATEADD(day, 190, datum03), 112) AS beginDatum,
CONVERT(varchar(10), GETDATE(), 112) AS vandaag
FROM ...
) AS resultaten
WHERE beginDatum < vandaag

Of je kan het volledige stuk gewoon herhalen in je where-clause.

Offline Myclos81

  • Ervaren lid
  • ***
  • Berichten: 272
  • Oplossing.be
Re: Use "as" in WHERE clause
« Reactie #2 Gepost op: 28 februari 2013, 13:52:28 »
Great, thx !
P4VT8+ , GeForce 6200, Windows XP Prof SP2, Intel(R) Pentium(R) 4 CPU 2.80GHz, 768 MB RAM, HDD:80 + 80 GB, NTFS, telenet, AVG antivirus, Internet Explorer 6.0, Outlook Express

 


www.combell.com