Avatar billede chrisrj Forsker
16. august 2004 - 15:28 Der er 18 kommentarer og
1 løsning

Problem med sql sætning(distinct)

Jeg har denne sqlsætning:
  Select distinct schoolnavn,schoollevel From schools, schoolslevels where charid=4 and not schooltype = '3'

den udskriver:
Beserker 1
Cleric 48
Mason 70
Wizard 70

Problemet er at "mason 70" IKKE skulle med i den liste - den har schooltype 3
De andre har schooltype 1 og 2

Hvordan hulen fikser jeg det??
Avatar billede jakobclausen Nybegynder
16. august 2004 - 15:29 #1
prøv at fjerne ' ' rundt om 3 - det er en tal værdi og ikke en tekststreng.
Avatar billede jakobclausen Nybegynder
16. august 2004 - 15:30 #2
Eller:
Select distinct schoolnavn,schoollevel From schools, schoolslevels where charid=4 and schooltype <> 3
Avatar billede erikjacobsen Ekspert
16. august 2004 - 15:33 #3
Du laver en join:
  ... From schools, schoolslevels ...
uden at fortælle hvordan de to tabeller er forbundet med hinanden
Avatar billede chrisrj Forsker
16. august 2004 - 15:36 #4
jakobclausen -> schoollevel er tekst er databasen :)

erikjacobsen -> gider du vise hvordan jeg så skal det?? :)
Avatar billede chrisrj Forsker
16. august 2004 - 15:36 #5
Der skulle stå : schoollevel er tekst I databasen :)
Avatar billede erikjacobsen Ekspert
16. august 2004 - 15:37 #6
Jah, du skal have en betingelse mere i din WHERE, men jeg kan jo ikke fortælle dig hvad der skal i den.
Avatar billede chrisrj Forsker
16. august 2004 - 15:41 #7
Ok, mine tabeller ser således ud:

schools:
schoolid(autonummer), school(tekst), schooltype(tekst), antalbruger(tal)

schoolslevel:
charschoolid(autonummer), schoolnavn(tekst), schoollevel(tal), charid(tal), schoolid(tal)

Er der mere du behøver at vide? :)
Avatar billede jakobclausen Nybegynder
16. august 2004 - 15:42 #8
Prøv med følgende:

Select distinct schoolnavn,schoollevel From schools, schoolslevels where charid=4 and not schooltype = '3' AND schools.schoolid=schoolslevel.schoolid
Avatar billede chrisrj Forsker
16. august 2004 - 15:45 #9
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1.
profil_medlem.asp, line 70
Avatar billede chrisrj Forsker
16. august 2004 - 15:55 #10
jakobclausen -> det virkede ikke...
Avatar billede eagleeye Praktikant
16. august 2004 - 16:18 #11
Prøv:

select distinct schools.schoolnavn, schools.schoollevel From schools left join schoolslevels on schools.schoolid = schoolslevels.schoolid where schoolslevels.charid=4 and not schools.schooltype = '3'
Avatar billede chrisrj Forsker
16. august 2004 - 16:23 #12
Det bliver da også værre og værre :)

Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 2.
Avatar billede eagleeye Praktikant
16. august 2004 - 16:29 #13
Så tror jeg ikke dine kolonne navne er rigtige, kan det passe?
Avatar billede eagleeye Praktikant
16. august 2004 - 16:33 #14
eller tabewl navn. Hvad hedder tabellen:  schoolslevel eller schoolslevels du har skrevet begge navne??
Avatar billede eagleeye Praktikant
16. august 2004 - 16:36 #15
Ok jeg har skrevet et forkert tabel navn i select delen prøv denne :)


select distinct schoolnavn, schoollevel From schools left join schoolslevels on schools.schoolid = schoolslevels.schoolid where schoolslevels.charid=4 and not schools.schooltype = '3'
Avatar billede chrisrj Forsker
16. august 2004 - 16:36 #16
Det virker nu!! :)

Her er den rigtige:
select distinct schoolslevels.schoolnavn, schoolslevels.schoollevel From schools left join schoolslevels on schools.schoolid = schoolslevels.schoolid where schoolslevels.charid=4 and not schools.schooltype = '3'

Det var schools der skulle være schoolslevels :)

Smid et svar! ;)
Avatar billede eagleeye Praktikant
16. august 2004 - 16:38 #17
Ok :)
Avatar billede chrisrj Forsker
16. august 2004 - 16:38 #18
Tak for hjælpen :)
Avatar billede chrisrj Forsker
27. august 2004 - 14:17 #19
Der er kommet et nyt problem, se venligst : http://www.eksperten.dk/spm/533611
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester