webForumDet fria alternativet

Hjälp med sql

Databaser & SQLur Databashanterare & SQL

15 svar · 388 visningar · startad av McD

Medlem sedan mars 20002 520 inlägg
Frågan#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?

Medlem sedan juni 2004533 inlägg
#2

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

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.

Medlem sedan mars 20002 520 inlägg
#4

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

Varför skriver man "NOT IN" ?

Medlem sedan dec. 200012 464 inlägg
#5

Flyttas från ASP

Medlem sedan mars 20002 520 inlägg
#6

aj rackarns sorry larsG

Medlem 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.

Medlem 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?

Medlem sedan dec. 200012 464 inlägg
#9
SELECT * 
FROM members 
where status < 888
and anamn not in('kalle','gunnar')
 order by status
Medlem 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"
Medlem sedan dec. 200012 464 inlägg
#11
SQL = "SELECT * FROM members where status < 888 and nick not in ('Pappa','iKe') order by status"
Medlem sedan mars 20002 520 inlägg
#12

typblandningfel i villkorsutryck!

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

TACK!!!

Medlem sedan juni 200032 967 inlägg
#13

Så trevligt. :)

Medlem sedan mars 20002 520 inlägg
#14

:)

Medlem sedan juni 200032 967 inlägg
#15

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

Medlem 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.

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