webForumDet fria alternativet

Hämta poster där [kolumn] inte är 3

Databaser & SQL

3 svar · 271 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Tjena
Har problem med en fråga, där jag ska hämta alla poster där en viss kolumn (lType) _inte_ är 3.
Såhär ser frågan ut "från början":

q =	"SELECT YEAR(sg.gStartDate) AS ar, MONTH(sg.gStartDate) AS man, sl.lName, sg.gId, sg.lType, sg.gName, sg.gDayTime, sg.gStartDate, sg.gPlace, sg.gTrainer, sg.gTrainer2, sg.gPrice "  &_
	"FROM tbl_sschool_levels sl INNER JOIN tbl_sschool_groups sg " &_
	"ON sl.lId = sg.lId " &_
	"WHERE EXTRACT(YEAR FROM sg.gStartDate) = EXTRACT(YEAR FROM CURDATE()) " &_
	"OR EXTRACT(YEAR FROM sg.gStartDate) = EXTRACT(YEAR FROM CURDATE() + 1) " &_
	"ORDER BY 1 DESC, 2 DESC, sl.sOrder ASC, sg.sOrder ASC"

Nu har jag ändrat så den ser ut såhär:

q =	"SELECT YEAR(sg.gStartDate) AS ar, MONTH(sg.gStartDate) AS man, sl.lName, sg.gId, sg.lType, sg.gName, sg.gDayTime, sg.gStartDate, sg.gPlace, sg.gTrainer, sg.gTrainer2, sg.gPrice "  &_
	"FROM tbl_sschool_levels sl INNER JOIN tbl_sschool_groups sg " &_
	"ON sl.lId = sg.lId " &_
	"WHERE EXTRACT(YEAR FROM sg.gStartDate) = EXTRACT(YEAR FROM CURDATE()) " &_
	"OR EXTRACT(YEAR FROM sg.gStartDate) = EXTRACT(YEAR FROM CURDATE() + 1) " &_
	[b]"AND sg.lType < 3 " &_[/b]
	"ORDER BY 1 DESC, 2 DESC, sl.sOrder ASC, sg.sOrder ASC"

Problemet är att grupper med lType 3 fortfarande hämtas ut.
Kolumnen är av typen int(11) och DBMS är MySQL.

Jag har sökt dels här och på Google och testat alla möjliga kombinationer av (inte likamed tre) men lyckas inget vidare.

Någon som har förslag?

Tack!

Medlem sedan dec. 20025 483 inlägg
#2

En liten parentes är vad som behövs:

q =	"SELECT YEAR(sg.gStartDate) AS ar, MONTH(sg.gStartDate) AS man, sl.lName, sg.gId, sg.lType, sg.gName, sg.gDayTime, sg.gStartDate, sg.gPlace, sg.gTrainer, sg.gTrainer2, sg.gPrice "  &_
	"FROM tbl_sschool_levels sl INNER JOIN tbl_sschool_groups sg " &_
	"ON sl.lId = sg.lId " &_
	"WHERE (EXTRACT(YEAR FROM sg.gStartDate) = EXTRACT(YEAR FROM CURDATE()) " &_
	"OR EXTRACT(YEAR FROM sg.gStartDate) = EXTRACT(YEAR FROM CURDATE() + 1)) " &_
	"AND sg.lType <> 3 " &_
	"ORDER BY 1 DESC, 2 DESC, sl.sOrder ASC, sg.sOrder ASC"
Medlem sedan mars 20041 505 inlägg
#3

Edit: lol, vi postade EXAKT samma lösning Peter S :P

Medlem sedan feb. 20034 441 inlägg
#4

Aha, tack!

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)