Avatar billede mortency Nybegynder
07. maj 2004 - 14:44 Der er 17 kommentarer og
1 løsning

SQL Statment

Jeg skal søke i 4 tabeller som egentlig virker ganske bra men den tar ikke med BAktiv='JA' AND
BGodkjentavFPF='JA' Den bryr seg ikke om de er 'JA' eller 'NEI' Hva kan dette være?

SELECT tblFPFBilder.BID,tblFPFBilder.BTittel,tblFPFBilder.BBeskrivelse,tblFPFBilder.BLagtInnDato,tblFPFBilder.BGodkjentavFPF,tblFPFBildeCategori.BildeCategori,tblFPFBildeFotografer.FNavn
FROM tblFPFBilder
INNER JOIN tblFPFBildeCategori ON tblFPFBildeCategori.BildeCatID = tblFPFBilder.BKategori
INNER JOIN tblFPFBildeFotografer ON tblFPFBildeFotografer.FID = tblFPFBilder.BFotograf
INNER JOIN tblFPFBildeLeverandor ON tblFPFBildeLeverandor.LID = tblFPFBilder.BLeverandor
WHERE
BAktiv='JA' AND
BGodkjentavFPF='JA' AND
BImageWidth LIKE '%fiske%' OR
BImageHeight LIKE '%fiske%' OR
BTittel LIKE '%fiske%' OR
BBeskrivelse LIKE '%fiske%' OR
BStikkord LIKE '%fiske%' OR
BSpesielleBetingelser LIKE '%fiske%' OR
BTidligereBrukttil LIKE '%fiske%' OR
BOrginal LIKE '%fiske%' OR
BildeCategori LIKE '%fiske%' OR
BildeCatInfo LIKE '%fiske%' OR
Fnavn LIKE '%fiske%' OR
LNavn LIKE '%fiske%' OR
LLand LIKE '%fiske%'
ORDER BY BTittel DESC

Denner tar å søker kun fra en tabell men tar fortsatt med 'NEI' poster. Er det noe med LIKE?

SELECT BID,BTittel,BBeskrivelse,BLagtInnDato,BGodkjentavFPF
FROM tblFPFBilder
WHERE
BAktiv='JA' AND
BGodkjentavFPF='JA' OR
BImageWidth LIKE '%fiske%' OR
BImageHeight LIKE '%fiske%' OR
BTittel LIKE '%fiske%' OR
BBeskrivelse LIKE '%fiske%' OR
BStikkord LIKE '%fiske%' OR
BSpesielleBetingelser LIKE '%fiske%' OR
BTidligereBrukttil LIKE '%fiske%' OR
BOrginal LIKE '%fiske%'
ORDER BY BTittel DESC
Avatar billede terry Ekspert
07. maj 2004 - 14:53 #1
Not sure how your tables look but try replacing 'JA' with 1

...
BAktiv= 1 AND
BGodkjentavFPF= 1 AND ...
Avatar billede terry Ekspert
07. maj 2004 - 14:55 #2
Normally a Ja/Nej field is a bit field in the database where it will have a value of 1 or 0
Avatar billede mortency Nybegynder
07. maj 2004 - 15:05 #3
The fields are "nvarchar" not true or false like 0/1 the problem are some other place..
Avatar billede terry Ekspert
07. maj 2004 - 15:10 #4
You could use like

BGodkjentavFPF LIKE '%JA%'

maybe you have spaces after the JA...
Avatar billede terry Ekspert
07. maj 2004 - 15:14 #5
.
Avatar billede mortency Nybegynder
07. maj 2004 - 15:19 #6
No there are no spaces just JA or NEI in the field
Avatar billede terry Ekspert
07. maj 2004 - 15:21 #7
Ah!
When you use OR you will need to use () to make sure that you get the result you want.

Example:
SELECT BID,BTittel,BBeskrivelse,BLagtInnDato,BGodkjentavFPF
FROM tblFPFBilder WHERE
BAktiv='JA' AND BGodkjentavFPF='JA' OR BImageWidth LIKE '%fiske%'

thsi wil give you records WHERE BAktiv='JA' AND BGodkjentavFPF='JA'  (BOTH fields must be 'JA'

but the SELECT will also give you records where BImageWidth LIKE '%fiske%'

OR BImageWidth LIKE '%fiske%'!
Avatar billede terry Ekspert
07. maj 2004 - 15:22 #8
Morency you do NOT need to reject my answers until you are finished with the question!
Avatar billede terry Ekspert
07. maj 2004 - 15:24 #9
So records where BImageWidth LIKE '%fiske%' can also have values where BAktiv='NEI' OR BGodkjentavFPF='NEI'
Avatar billede terry Ekspert
07. maj 2004 - 15:27 #10
Do you understand the implications when you use OR?

Try something like this

SELECT BID,BTittel,BBeskrivelse,BLagtInnDato,BGodkjentavFPF
FROM tblFPFBilder
WHERE
(BAktiv='JA' AND
BGodkjentavFPF='JA') AND (
BImageWidth LIKE '%fiske%' OR
BImageHeight LIKE '%fiske%' OR
BTittel LIKE '%fiske%' OR
BBeskrivelse LIKE '%fiske%' OR
BStikkord LIKE '%fiske%' OR
BSpesielleBetingelser LIKE '%fiske%' OR
BTidligereBrukttil LIKE '%fiske%' OR
BOrginal LIKE '%fiske%')
Avatar billede mortency Nybegynder
07. maj 2004 - 15:28 #11
sorry! What should i do?
Avatar billede terry Ekspert
07. maj 2004 - 15:29 #12
but as I dont know exactly which records you want to see in your result then I dont know exactly when to use ()
Avatar billede terry Ekspert
07. maj 2004 - 15:30 #13
does my comnment from 07/05-2004 15:27:55 help?
Avatar billede mortency Nybegynder
07. maj 2004 - 15:30 #14
This is an search and i want BAktiv='JA' AND
BGodkjentavFPF='JA' and to search after like in rest of the fields.

//Morten
Avatar billede mortency Nybegynder
07. maj 2004 - 15:31 #15
No that also show the post where BGodkjentavFPF='JA' is 'NEI'
Avatar billede terry Ekspert
07. maj 2004 - 15:35 #16
are you sure that you have the () in the same place as my example?

what does this give you ?

SELECT BID,BTittel,BBeskrivelse,BLagtInnDato,BGodkjentavFPF
FROM tblFPFBilder
WHERE
(BAktiv='JA' AND
BGodkjentavFPF='JA')
Avatar billede mortency Nybegynder
07. maj 2004 - 15:40 #17
//Terry this is working!

Hust post an new answer, and i give you the points! Thanks for the help! You saved my weekend!

SELECT tblFPFBilder.BID,tblFPFBilder.BTittel,tblFPFBilder.BBeskrivelse,tblFPFBilder.BLagtInnDato,tblFPFBilder.BGodkjentavFPF,tblFPFBildeCategori.BildeCategori,tblFPFBildeFotografer.FNavn
FROM tblFPFBilder
INNER JOIN tblFPFBildeCategori ON tblFPFBildeCategori.BildeCatID = tblFPFBilder.BKategori
INNER JOIN tblFPFBildeFotografer ON tblFPFBildeFotografer.FID = tblFPFBilder.BFotograf
INNER JOIN tblFPFBildeLeverandor ON tblFPFBildeLeverandor.LID = tblFPFBilder.BLeverandor
WHERE
(BAktiv='JA' AND
BGodkjentavFPF='JA') AND (
BImageWidth LIKE '%fiske%' OR
BImageHeight LIKE '%fiske%' OR
BTittel LIKE '%fiske%' OR
BBeskrivelse LIKE '%fiske%' OR
BStikkord LIKE '%fiske%' OR
BSpesielleBetingelser LIKE '%fiske%' OR
BTidligereBrukttil LIKE '%fiske%' OR
BOrginal LIKE '%fiske%' OR
BildeCategori LIKE '%fiske%' OR
BildeCatInfo LIKE '%fiske%' OR
Fnavn LIKE '%fiske%' OR
LNavn LIKE '%fiske%' OR
LLand LIKE '%fiske%')
ORDER BY BTittel DESC
Avatar billede terry Ekspert
07. maj 2004 - 15:44 #18
Thanks!
Have a good weekend

Terry
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
Computerworld tilbyder specialiserede kurser i database-management

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