Avatar billede htx98i17 Professor
11. september 2001 - 11:44 Der er 6 kommentarer og
1 løsning

Betingelser i to tabeller

Jeg har en query, en simpel søgetingest som søger efter varer i tabellen tblarticles.

SELECT * FROM tblarticles WHERE detaljer LIKE \'%$soegeord%\'

Den vil hente alle informationer om varen, deriblandt \"vareGruppe\" og \"underGruppe\".

Nu er det sådan at man i administrationsdelen kan vælge om man vil skjule en vareGruppe/underGruppe i butikken.
Selve gruppestrukturen ligger i tabellen \"tblstructure\" og hvis man vil skjule en vareGruppe/underGruppe så er \"visibility\" defineret \'0\'

Men når man søger efter en vare, så finder man også varer som ligger under de vareGrupper/underGrupper som er skjulte.
Det skal laves om.

Summary:
Den skal søge i feltet \"detaljer\" i tblarticles hvor fundne vareres vareGruppe og underGruppe ikke er lig \'0\' i tabellen tblstructure.

Sådan ser det ud i tblstructure:
ID | vareGruppe | underGruppe | vivibility
--------------------------------------------
1      101          1              1      // 0 = skjult, 1 = synlig

Sådan ser det ud i tblarticles:
ID | detaljer | vareGruppe | underGruppe
------------------------------------------
1    streng      101            1

Jeg vil gerne have løsningen ned i een query og ingen php...

mvh
Christian
Avatar billede senj Nybegynder
11. september 2001 - 11:52 #1
Prøv denne:

SELECT * FROM tblarticles WHERE tblarticles.detaljer LIKE \'%$soegeord%\' AND tblstructure.visibility = 1 AND tblarticles.varegruppe = tblstructure.varegruppe;
Avatar billede senj Nybegynder
11. september 2001 - 11:53 #2
hvilket felt i tblstructure er foreign key fra tblarticles?

Avatar billede htx98i17 Professor
11. september 2001 - 11:58 #3
vareGruppe og underGruppe er ded samme som i begge tabeller

og uunderGruppe og vareGruppe kan begge skjules uafhængigt af hinanden..
Avatar billede senj Nybegynder
11. september 2001 - 12:01 #4
SELECT detaljer, vareGruppe, underGruppe FROM tblarticles
WHERE
tblarticles.detaljer LIKE \'%$soegeord%\'
AND tblstructure.visibility = 1
AND tblarticles.varegruppe =tblstructure.varegruppe;

Hvad giver denne?
Avatar billede htx98i17 Professor
11. september 2001 - 12:10 #5
Jeg kan først teste den iaften, men det ser meget fornuftigt ud...
Avatar billede htx98i17 Professor
22. september 2001 - 12:04 #6
undskyld den lange ventetid...

når jeg søger på ordet \"test\" som er en vare der er oprettet i en skjult varegruppe, ser sql\'en sålededs ud:

SELECT * FROM tblarticles WHERE detaljer LIKE \'%test%\' AND tblstructure.visibility = \'1\' AND tblstructure.vareGruppe = tblarticles.vareGruppe OR tblstructure.underGruppe = tblarticles.underGruppe

Og kommer med følgende fejl:

Unknown table \'tblstructure\' in where clause

Og det er STENSIKKER at den table findes og at felterne er stavet korrekt. Jeg har tjekket det snart 100 gange, hehe

hva fa\'en kan der være galt?
Avatar billede htx98i17 Professor
22. september 2001 - 12:10 #7
prøvede også med følgende (har deefineret tabel til feltet detaljer):

SELECT * FROM tblarticles WHERE tblarticles.detaljer LIKE \'%test%\' AND tblstructure.visibility = \'1\' AND tblstructure.vareGruppe = tblarticles.vareGruppe OR tblstructure.underGruppe = tblarticles.underGruppe

Unknown table \'tblstructure\' in where clause
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