Toon posts:

[MYSQL] 2 statements in where

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik gebruik nu deze query:

code:
1
SELECT DISTINCT WEEK(vdate) AS qweek FROM tbl_vooraan WHERE WEEK(vdate) != 44 AND YEAR(vdate) != 2006 ORDER BY qweek DESC


Ik wil dus alle weken uit de database hebben, behalve week 44 in het jaar 2006. Maar op deze manier laat hij alle weken 44 niet zien en ook niks van 2006.

Ik kan niet zo snel vinden hoe ik dit wel voor elkaar krijg. Iemand tips?

  • rvrbtcpt
  • Registratie: November 2000
  • Laatst online: 18:12
Ook niet zo ? ( WEEK(vdate) != 44 AND YEAR(vdate) != 2006 )

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 01-12 23:19

DizzyWeb

Ondertiteld

Mijn eerste ingeving is
code:
1
WHERE NOT (WEEK(vdate) == 44 AND YEAR(vdate) == 2006)
Maar ik weet niet of dat valide SQL is...

Verwijderd

Topicstarter
( WEEK(vdate) != 44 AND YEAR(vdate) != 2006 )
geeft hetzelfde resultaat

WHERE NOT (WEEK(vdate) == 44 AND YEAR(vdate) == 2006)
komt op hetzelfde neer als ik wat ik nu heb, zal dus ook niet werken

thanks in ieder geval

  • DarthPlastic
  • Registratie: Augustus 2005
  • Laatst online: 16-10 14:32
Verwijderd schreef op vrijdag 08 december 2006 @ 16:01:
( WEEK(vdate) != 44 AND YEAR(vdate) != 2006 )
geeft hetzelfde resultaat

WHERE NOT (WEEK(vdate) == 44 AND YEAR(vdate) == 2006)
komt op hetzelfde neer als ik wat ik nu heb, zal dus ook niet werken

thanks in ieder geval
Subselect oid. misschien, het is wel een omweg, maar werkt volgens mij wel...:

code:
1
2
3
4
5
6
7
8
SELECT DISTINCT WEEK(vdate) AS qweek
FROM tbl_vooraan
WHERE YEAR(vdate) != 2006 AND WEEK(vdate) = (
SELECT DISTINCT WEEK(vdate) 
AS qweek 
FROM tbl_vooraan 
WHERE WEEK(vdate) != 44
ORDER BY qweek DESC )

Ben geen held in SQL ;) maar misschien pakt hij dit wel.

edit: Ipv "!=" kun je ook gewoon "<>"gebruiken, misschien werkt dit anders?
WEEK(vdate) <> 44 ?

[ Voor 6% gewijzigd door DarthPlastic op 08-12-2006 16:07 ]

Owner SuitIT, https://www.suitit.nl


Verwijderd

Volgens mij ondersteunt mysql geen 2 WHERE statements is in Query.

Effe opzoeken.

link

subqueries zijn pas werkend vanaf versie 4.1.17

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Die van DizzyWeb was al goed, maar een or kan ook.
code:
1
WEEK(vdate) != 44 OR YEAR(vdate) != 2006

Who is John Galt?


Verwijderd

Topicstarter
Keek even niet goed, die van dizzyweb klopt idd, maar dan zo:

code:
1
SELECT DISTINCT WEEK(vdate) AS qweek FROM tbl_vooraan WHERE NOT (WEEK(vdate) = 44 AND YEAR(vdate) = 2006) ORDER BY qweek DESC

  • bazkar
  • Registratie: Juni 2001
  • Laatst online: 13-11 16:20
Die van justmental en souldeluxe zijn equivalent. Dit heet de regel van 'de Morgan' in de logica:

NOT (P AND Q) = NOT P OR NOT Q
Pagina: 1