03. marts 2007 - 18:11
Der er
23 kommentarer og 1 løsning
Hente fra 2 tabeller i én query
Hej E. Er det muligt at hente fra 2 tabeller i én query ? det er til en søgning. f.eks. så der søges i produkt navn i tabel1, og samtidigt i beskrivelse i tabel2 ?
Annonceindlæg fra Academic Work Denmark A/S
03. marts 2007 - 18:18
#1
03. marts 2007 - 18:20
#2
f.eks. SELECT table_1.row_1, table_2.row_1 FROM table_2 LEFT JOIN table1 ON table_1.row_1 = table_2.row_1 WHERE table_1.row_1 = '$some_value'
03. marts 2007 - 18:36
#4
har kigget på join... og fatter hat af det... SELECT produktnavn, beskrivelse FROM tabel1 AS t1 INNER JOIN tabel2 AS t2 ON t1.produktid = t2.produktid fra AS t1 INNTER JOIN... osv, er jeg lost. :S
03. marts 2007 - 18:46
#5
SELECT table1.field, table2.field FROM table1, table2 where table1.field like '%$search%' OR table2.field like '%$search%' giver vanvittigt mange results, skønt der kun skulle være 2. :S
03. marts 2007 - 19:03
#6
det her er til at få grå hår af...
03. marts 2007 - 19:08
#7
okey den virker.. bare phpmyadmin der syntes det er sjovt at udskifte tingene. :S
03. marts 2007 - 19:08
#8
men coderdk det var dit link der hjalp mig på rette spor, så smid et svar. :) og simplus, tak for din tid og hjælp. :)
03. marts 2007 - 19:11
#9
WOW... hvis jeg søger på The i databasen med den kode, så smider den næsten 350.000 linier kode ud. lol :D
03. marts 2007 - 19:17
#10
hmm noget er stadig galt. :(
03. marts 2007 - 19:22
#11
hvis der f.eks. står The i samme felt f.eks. 15 gange, så får jeg 15 output.. hvordan slipper jeg af med det ? har prøvet med en distinct *
03. marts 2007 - 19:34
#12
Hvilket felt binder de to sammen - Hvad hedder ID-feltet er i begge tabeller?
03. marts 2007 - 19:35
#13
Og hvikle felter vil du søge i?
03. marts 2007 - 19:37
#14
id.. er igang med at lave en database over mine film, og i f.eks. Pitch Black og The Chronicles of Riddick, hedder hovedpersonen Riddick. i stedet for bare at søge på titelen, så vil jeg også gerne søge i beskrivelsen.
03. marts 2007 - 19:37
#15
pt ser min sql sådan her ud: $sql = "SELECT distinct * FROM movies, movie_details WHERE movies.title LIKE '%".$query."%' OR movie_details.description like '%". $query . "%' group by movies.title asc";
03. marts 2007 - 19:42
#16
og kan se at den spytter resultatet ud lige så mange gange som der er film i databasen... dvs. hvis den finder 2 hits, så spytter den det ud 2 gange osv... :(
03. marts 2007 - 19:43
#17
og lige så snart at jeg fjerner at den skal søge i movie_details, så virker alt normalt, bare uden søgning i details. :(
03. marts 2007 - 19:46
#18
Prøv: $sql = "SELECT m.title, d.description FROM movies AS m INNER JOIN movie_details AS d ON m.id = d.id WHERE m.title LIKE '%" . $query . "%' OR d.description LIKE '%" . $query . "%'";
03. marts 2007 - 19:54
#19
hmm... det virker LANGT bedre.. MEN hvis jeg søger på Riddick, kommer pitch black, og chronicles of riddick frem.. PLUS The Core... og der står IKKE RIDDICK nogle steder forbundet med den film. :D
03. marts 2007 - 19:58
#20
og smider jeg den igennem phpmyadmin, får jeg et helt andet resultat... :S
03. marts 2007 - 20:01
#21
har løst den.. m.id = d.id skal være: m.movie_id = d.movie_id eneste 2 ting i databasen, foruden titlen, der er 100% ens.
03. marts 2007 - 20:03
#22
coderdk, igen igen igen redder du dagen... smid et svar. :)
03. marts 2007 - 21:12
#23
Ah :)
03. marts 2007 - 21:34
#24
:P
Vi tilbyder markedets bedste kurser inden for webudvikling