PDA

Bekijk Volledige Versie : [MySQL] Hulp gevraagd bij JOIN-query



Maarten Wierda
01/07/03, 11:05
Hi N.I.W.S-S,

Ik heb twee tabellen. E1n van deze tabellen is de tabel
'kennisbankartikelen'. Deze tabel heeft twee kolommen die in dit geval
relevant zijn, uniqID (foreign key) en artieklID (een ID dat de klant
zelf kunt invoeren, bijv. A123).

Een andere tabel is de tabel 'zieooklinks', dit is een koppeltabel die
twee kolommen bevat: source en destination. Deze kolommen bevatten de
waarde van uniqID.

Nu wil ik van elk artikel het artikelID hebben van het gerelateerde
artikel, dit kan vrij eenvoudig danzkij de koppeltabel. Ik heb dit nu
opgelost met het stukje volgende PHP-code:




// haal de uniqID's op van gerelateerde artikelen
if ($getRelatedArt = mysql_query("SELECT destination FROM zieooklinks
WHERE source = \"".$uniqID."\""))
{
while($relatedArtData = mysql_fetch_row($getRelatedArt))
{
// haal het artikelID op van het gerelateerde artikel
if ($getRelatedArtID = mysql_query("SELECT artikelID FROM
kennisbankartikelen WHERE uniqID \"".$relatedArtData[0]."\""))
{
while($relatedArtDataID = mysql_fetch_row($getRelatedArtID))
{
if (!empty($relatedArtDataID[0]))
{
echo "<PRE>uniqID : ".$uniqID." / relationID :
".$relatedArtDataID[0]."</PRE>";
}
}
}
}
}



Nu zou ik deze twee queries graag in e1n qery m.b.v. JOIN verwerken. Zou
iemand me hierbij kunnen helpen? Het betreft overigens een MySQL
database.

Alvast bedankt,

--
Cheers, Maarten Wierda

"Music is first, lyrics are secondary."

Chris
01/07/03, 17:05
"Maarten Wierda" <moart3n@norecessDOT.com> wrote in message
news:3F014C3D.3D58F279@norecessDOT.com...
> Hi N.I.W.S-S,
>
> Ik heb twee tabellen. E1n van deze tabellen is de tabel
> 'kennisbankartikelen'. Deze tabel heeft twee kolommen die in dit geval
> relevant zijn, uniqID (foreign key) en artieklID (een ID dat de klant
> zelf kunt invoeren, bijv. A123).
>
> Een andere tabel is de tabel 'zieooklinks', dit is een koppeltabel die
> twee kolommen bevat: source en destination. Deze kolommen bevatten de
> waarde van uniqID.
>
> Nu wil ik van elk artikel het artikelID hebben van het gerelateerde
> artikel, dit kan vrij eenvoudig danzkij de koppeltabel. Ik heb dit nu
> opgelost met het stukje volgende PHP-code:
>
>

>
> // haal de uniqID's op van gerelateerde artikelen
> if ($getRelatedArt = mysql_query("SELECT destination FROM zieooklinks
> WHERE source = \"".$uniqID."\""))
> {
> while($relatedArtData = mysql_fetch_row($getRelatedArt))
> {
> // haal het artikelID op van het gerelateerde artikel
> if ($getRelatedArtID = mysql_query("SELECT artikelID FROM
> kennisbankartikelen WHERE uniqID \"".$relatedArtData[0]."\""))
> {
> while($relatedArtDataID = mysql_fetch_row($getRelatedArtID))
> {
> if (!empty($relatedArtDataID[0]))
> {
> echo "<PRE>uniqID : ".$uniqID." / relationID :
> ".$relatedArtDataID[0]."</PRE>";
> }
> }
> }
> }
> }
>
>

SELECT k.artikelID FROM kennisbankartikelen k INNER JOIN zieooklinks z ON
k.uniqID = z.destination;

zoiets?

laterz
Chris

Maarten Wierda
02/07/03, 09:20
Chris wrote:

> > Ik heb twee tabellen. E1n van deze tabellen is de tabel
> > 'kennisbankartikelen'. Deze tabel heeft twee kolommen die in dit geval
> > relevant zijn, uniqID (foreign key) en artieklID (een ID dat de klant
> > zelf kunt invoeren, bijv. A123).
> >
> > Een andere tabel is de tabel 'zieooklinks', dit is een koppeltabel die
> > twee kolommen bevat: source en destination. Deze kolommen bevatten de
> > waarde van uniqID.
> >
> > Nu wil ik van elk artikel het artikelID hebben van het gerelateerde
> > artikel, dit kan vrij eenvoudig danzkij de koppeltabel. Ik heb dit nu
> > opgelost met het stukje volgende PHP-code:

[knip twee queries in dubbele while-loop]

> SELECT k.artikelID FROM kennisbankartikelen k INNER JOIN zieooklinks z ON
> k.uniqID = z.destination;

Hey dankjewel. Ik krijg nu alle relaties terug. Nu wil ik in deze query
echter een variabele gebruiken, namelijk de kolom uniqID van de tabel
'kennisbankartikelen'.

Ik gebruik:

SELECT k.artikelID FROM kennisbankartikelen k INNER JOIN zieooklinks z
ON
k.uniqID = z.destination WHERE k.uniqID = 'k_3d4655e58c734'

Maar deze query levert geen resultaten op. Weet jij hoe ik de query moet
aanpassen om wel resultaten terug te krijgen (het artikel met als uniqID
'k_3d4655e58c734' bevat relaties).

--
Cheers, Maarten Wierda

"Music is first, lyrics are secondary."