webForumDet fria alternativet

SQL - if statements?

6 svar · 529 visningar · startad av roady

roadyMedlem sedan jan. 2002473 inlägg
#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 :)

PeddaMedlem sedan juni 20004 880 inlägg
#2

Flyttas från PHP

roadyMedlem 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 =)

LarsGMedlem sedan dec. 200012 465 inlägg
#4

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

roadyMedlem 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.

Fredde MannenMedlem sedan nov. 20013 498 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

roadyMedlem 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 ";

Genererad på 378 ms · cache AV · v20260730165559-full.f96bc7eb