webForumDet fria alternativet

Skriva ut data från flera olika tabeller

Databaser & SQL

2 svar · 418 visningar · startad av niNe

Medlem sedan maj 2005138 inlägg
Frågan#1

Tjo!

Frågan är väl egentligen relaterat till både SQL och PHP, men det känns spontant som mer SQL, så frågan hamnar här...

Jag håller på med en sökfunktion som hämtar data från fyra olika tabeller för att sedan skriva ut.

Det jag vill åstakomma är följande:
Hämta kolumnen 'rubrik' från tabell1, tabell2, tabell3.
Hämta kolumnen 'namn' från tabell4.
Skriv ut träffar...

Om jag som nybörjare skulle skriva denna Query, skulle jag förmodligen göra på följande sätt:

SELECT tabell1.rubrik, tabell2.namn, tabell3.rubrik, tabell4.rubrik 
FROM tabell1, tabell2, tabell3, tabell4 
WHERE tabell1.rubrik LIKE('".$search ."%') 
OR tabell2.rubrik LIKE('".$search ."%')
OR tabell3.rubrik LIKE('".$search ."%') 
OR tabell4.namn LIKE('".$search ."%')

Detta lirar ju inte alls. Helt slut i huvudet efter att ha läst alltförmycket kod och alltförmycket information.

Om jag sedan skulle vilja skriva ut informationen från något svar via PHP, hur gör jag då? Lär väl inte kunna köra en echo $row['rubrik'] och få ut alla svar från kolumner som heter "rubrik"...

Har läst diverse artiklar om JOIN osv, men det är OUTER och INNER och LEFT o RIGHT... Rör ihop allt... Tappar logiken helt!

Är extremt grön på området så lite hjälp för att komma på rätt spår vore mycket önskvärt!

Medlem sedan dec. 200012 464 inlägg
#2
select rubrik,'tabell1' as source 
  from tabell1
 where rubrik like '" . $search ."%'
 union all
 select rubrik,'tabell2' as source 
  from tabell2
 where rubrik like '" . $search ."%'
 union all
select rubrik,'tabell3' as source 
  from tabell3
 where rubrik like '" . $search ."%'
 union all
select name,'tabell4' as source 
  from tabell4
 where name like '" . $search ."%'

Om detta inte är vad du vill så vore det bra om du kan ge exempel på innehåll i de olika tabellerna och förväntat resultat.

Medlem sedan maj 2005138 inlägg
#3

Du är en kung! Funkade alldeles utmärkt! Tack för hjälpen!

256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)