webForumDet fria alternativet

Hjälp med sql

15 svar · 388 visningar · startad av McD

McDMedlem sedan mars 20002 520 inlägg
#1

select * from members order by adat desc

Den har jag idag men hur lägger jag till att "anamn" som är = "kalle" och "gunnar" inte ska komma med? när jag loopar resultatet?

GuffaMedlem sedan juni 2004533 inlägg
#2

... where not anamn in ('kalle', 'gunnar') ...

J.N.Medlem sedan apr. 20031 660 inlägg
#3

HEJ!

select * from members WHERE namn NOT IN ('kalle,gunnar') order by adat desc

Ev fnuttar runt varje namn, men tror såhär.

Du behöver alltså inte hålla koll på att inte skriva ut fel namn; du har helt enkelt inte fel namn i recordsetet.

McDMedlem sedan mars 20002 520 inlägg
#4

Tackar, Klockrent testar när jag kommer hem... igen.

Varför skriver man "NOT IN" ?

LarsGMedlem sedan dec. 200012 464 inlägg
#5

Flyttas från ASP

McDMedlem sedan mars 20002 520 inlägg
#6

aj rackarns sorry larsG

cyprysMedlem sedan dec. 20003 563 inlägg
#7

McD skrev:

Varför skriver man "NOT IN" ?

Det säger i det här fallet att anamn inte får vara lika något element i mängden som man sätter paranteser kring. I exemplen ovan är kalle ett element och gunnar ett element. Tillsammans bildar de mängden som innehåller alla namn som inte får förekomma.

anamn NOT IN ('gunnar','kalle') =
anamn är inte lika med varken gunnar eller kalle.

McDMedlem sedan mars 20002 520 inlägg
#8

Tack dock så var det lite mer komlicerat än så här :(

SQL = "SELECT * FROM members where status < '888' order by status"

Hur ska jag göra då?

anamn är namnen och namnen kalle & gunnar ska inte visas?

LarsGMedlem sedan dec. 200012 464 inlägg
#9
SELECT * 
FROM members 
where status < 888
and anamn not in('kalle','gunnar')
 order by status
McDMedlem sedan mars 20002 520 inlägg
#10

Heheh ni är änglar, dock så bråkade det lite...

Denna funka men döjde inte namnen utan ändrade bara plats på dom...

SQL = "SELECT * FROM members where status < '888' NOT IN ('Pappa,iKe') order by status"

Denna funkar inte alls... ingen skillnad mot den första...

SQL = "SELECT * FROM members where status < '888' and 'nick' not in ('Pappa','iKe') order by status"
LarsGMedlem sedan dec. 200012 464 inlägg
#11
SQL = "SELECT * FROM members where status < 888 and nick not in ('Pappa','iKe') order by status"
McDMedlem sedan mars 20002 520 inlägg
#12

typblandningfel i villkorsutryck!

fixade det '888' gjorde susen... Nu funkar det!

TACK!!!

@ndersMedlem sedan juni 200032 969 inlägg
#13

Så trevligt. :)

McDMedlem sedan mars 20002 520 inlägg
#14

:)

@ndersMedlem sedan juni 200032 969 inlägg
#15

Fast nu var det inte riktigt i det inlägget lösningen finns, väl? :)

LarsGMedlem sedan dec. 200012 464 inlägg
#16

Är status definerat som text alltså?

Det är inte bra då du jämför med <

T.ex så är '1000' < '999' sant. Använd en numerisk datatyp istället.

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)