Avatar billede elskermad.dk Nybegynder
07. december 2004 - 21:12 Der er 9 kommentarer og
1 løsning

søge i 2 tabeller i samme søgning?

Hej eksperter!

Jeg har brug for en lidt avanceret (vil jeg tro den er) søgning som kan følgende...

Jeg har nu denne query til at finde ud af hvilke rækker jeg vil liste ud fra kolonnen kat, hvor i mit eksempel værdien skal være; "bent"

SELECT * FROM navne WHERE kat = 'bent'

Det er selvfølgelig meget enkelt (selvom jeg kunne få det skrevet besværligt ;D)

jeg har nu brug for at de forskellige rækker godt kan liste med selvom de ikke har værdien 'bent' i kolonnen kat, så derfor vil jeg oprette en ny tabel som hedder alt_kat hvor jeg sætter rækkens id fra navne ind sammen med en kolonne som i dette eksempel skal indeholde, 'bent'!

hvordan kan jeg så nu lave min søgning så at rækkerne i navne bliver listet hvis værdien i kat er 'bent' eller hvis rækkens id er listet i alt_kat som 'bent'?

håber jeg har formuleret mig bare lidt forståeligt (kan snart ikke selv forstå det) ellers må i lige skrive det ;)

på forhånd tak! :)
Avatar billede arne_v Ekspert
07. december 2004 - 21:16 #1
Prøv:

SELECT *
FROM navne LEFT JOIN alt_kat ON navne.id=alt_kat.id
WHERE navne.kat = 'bent' OR alt_kat.noget = 'bent'
Avatar billede elskermad.dk Nybegynder
07. december 2004 - 21:25 #2
okay tror jeg bliver nødt til lidt forklaring til hvordan det virker (skal jo gerne kunne tilpasse det 100%)!

LEFT JOIN : Åbner tilgang til en anden tabel - i dette tilfælde alt_kat ?
ON : ?

nu hedder kolonnerne tabelnavnet punktum kolonnenavn?
Avatar billede arne_v Ekspert
07. december 2004 - 21:30 #3
LEFT JOIN fletter records fra de 2 tabeller sammen således at hvis der
er en række i højre tabellen som opfylder ON betingelsen så kommer den række
med
Avatar billede elskermad.dk Nybegynder
07. december 2004 - 21:32 #4
en række i højre tabellen?
Avatar billede arne_v Ekspert
07. december 2004 - 21:33 #5
venstre tabel LEFT JOIN højre tabel
Avatar billede elskermad.dk Nybegynder
07. december 2004 - 21:53 #6
det forstår jeg slet ikke noget af... altså tror godt jeg forstår queryen, men kunne godt tænke mig at vide hvad du mener med det sidste (slet ikke god til mysql - endnu)
hvordan ved jeg hvad der er højre og venstre osv?
Avatar billede elskermad.dk Nybegynder
07. december 2004 - 21:53 #7
.. smid lige et svar samtidigt!
Avatar billede arne_v Ekspert
07. december 2004 - 21:55 #8
"venstre tabel" står til venstre for LEFT JOIN
"højre tabel" står til højre for LEFT JOIN
Avatar billede arne_v Ekspert
07. december 2004 - 21:55 #9
svar

virker det ?
Avatar billede elskermad.dk Nybegynder
07. december 2004 - 22:01 #10
har ikke fået det testet endnu, da jeg ikke sidder ved projektet, skulle blot have måden at gøre det på i aften så jeg kunne tænke over det i nat :)

men altså det med venstre og højre er mig stadig en gåde ;) kan godt være jeg er dum hehe...
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