webForumDet fria alternativet

SQL - if statements?

Databaser & SQL

6 svar · 529 visningar · startad av roady

Medlem sedan jan. 2002473 inlägg
Frågan#1

Hej,
Skulle behöva lite hjälp med SQL sats. Har en MySQL databas med tre tabeller.

[post]
guid - unique key
title

[slide]
guid - unique key
title

[slidelink]
guid - unique key
guid_post
guid_slide

.Vad jag är ute efter är att slidelink säger till vilka poster som vill använda sig utav sliden.

Så t.ex. om det fanns data

[post]
Post 1
Post 2

[slide]
Slide 1
Slide 2
Slide 3

[slidelink]
Post 1 - Slide 1
Post 1 - Slide 2
Post 1 - Slide 3
Post 2 - Slide 1

... Hur får jag ihop det här med SQL????
Jag vill få ut alla slides som hör till Post 1.

Skulle vilja skriva något liknande
SELECT * from slide where (slide.guid = slidelink.guid_slide) AND (slidelink.guid_post = post.guid);

help :)

Medlem sedan juni 20006 031 inlägg
#2

Flyttas från PHP

Medlem sedan jan. 2002473 inlägg
#3

Såg nu att det fanns ett SQL forum, sorry, någon får flytta det.
Hittade även ett trevligt exempel på något som heter OUTER JOIN.

Efter lite knåpande fick jag ihop det här.

$guid = 1;
$query = "SELECT * FROM slide LEFT OUTER JOIN slidelink ON slide.guid = slidelink.guid_slide LEFT OUTER JOIN post ON post.guid = slidelink.guid_post WHERE post.guid = $guid";

Ser ut att fungera =)

Medlem sedan dec. 200012 464 inlägg
#4

Kontrollfråga: Varför har du outer join och inte inner join?

Medlem sedan jan. 2002473 inlägg
#5

ärligt så vet jag inte =)
är ingen PHP eller server-programmerare alls men sitter ändå och skriver ihop en AMFPHP Service efter bästa förmåga.

Om jag förstår det rätt så är OUTER JOIN att man använder referencer och INNER JOIN bakar ihop datan innan jag får den? är jag helt ute och cycklar här kanske.

Medlem sedan nov. 20014 054 inlägg
#6

Här har du lite om RIGHT JOIN, LEFT JOIN och INNER JOIN (samt då OUTER JOIN)
http://www.wellho.net/mouth/158_MySQL-LEFT-JOIN-and-RIGHT-JOIN-INNER-JOIN-and-OUTER-JOIN.html

Medlem sedan jan. 2002473 inlägg
#7

Tack Fredde Mannen, kanonbeskrivning, nu hänger jag med lite i svängen :birp

Min sista rad blev såhär tillslut för de intresserade.

$querySlides = "SELECT * FROM slide " .
"INNER JOIN slidelink ON slide.guid = slidelink.guid_slide " .
"INNER JOIN slidegrouplink ON slidegrouplink.guid_slide = slide.guid " .
"INNER JOIN post ON post.guid = slidelink.guid_post WHERE post.guid = $guid ";

263 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)