WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Unknown column 't.id' in 'on clause' (https://www.wn.se/forum/showthread.php?t=36993)

dudaah 2009-05-23 00:31

Hej,

har ett litet problem med en sida där jag får felmeddelande som i rubriken. Koden som genererar detta är troligen left outer join i koden nedan men vet inte riktigt vad jag skall ändra det till för att få det att funka?

Kod:

$query = "SELECT t.name,t.id,t.songlink,dc.dl_url,fc.trackid,fc.finishedcartid,fc.download_bitrate
        FROM tracks t,transactions tn,finishedcart fc
        LEFT OUTER JOIN downloadcount dc ON dc.trackid=t.id
        AND dc.memberid=".$_SESSION['memberid']." 
        WHERE (dc.dlcount<$dlcount OR dc.dlcount IS NULL)
        AND tn.memberid=".$_SESSION['memberid']."
        AND (tn.status='Completed' or tn.status='CHARGED')
        AND tn.txn_id=fc.txn_id
        AND CONCAT(',',fc.trackid,',') LIKE CONCAT('%,',t.id,',%')
        AND t.id='".$id."'
        AND download_bitrate LIKE '%".$GET_bitrate."%'";

Tar tacksamt emot förslag?

oller 2009-05-23 20:48

Tror det räcker med att du lägger tracks "bredvid" left outer join enligt nedan.

Kod:

$query = "SELECT t.name,t.id,t.songlink,dc.dl_url,fc.trackid,fc.finishedcartid,fc.download_bitrate
 FROM transactions tn,finishedcart fc,tracks t
 LEFT OUTER JOIN downloadcount dc ON dc.trackid=t.id
 AND dc.memberid=".$_SESSION['memberid']."
 WHERE (dc.dlcount<$dlcount OR dc.dlcount IS NULL)
 AND tn.memberid=".$_SESSION['memberid']."
 AND (tn.status='Completed' or tn.status='CHARGED')
 AND tn.txn_id=fc.txn_id
 AND CONCAT(',',fc.trackid,',') LIKE CONCAT('%,',t.id,',%')
 AND t.id='".$id."'
 AND download_bitrate LIKE '%".$GET_bitrate."%'";

Mvh

dudaah 2009-05-24 12:35

Testade aldrig ditt förslag men tack ändå. Lyckades få det att funka genom att lägga in inner joins istället för komma tecken.

Kod:

FROM tracks t INNER JOIN transactions tn INNER JOIN finishedcart fc
LEFT OUTER JOIN downloadcount dc ON dc.trackid=t.id


Jonas 2009-05-24 13:54

För att få bättre översikt, använd:

Kod:

FROM tracks AS t, transactions AS tn, finishedcart AS fc ... WHERE
Så slipper du tvinga MySQL till att "tolka" din fråga.

dudaah 2009-05-25 02:08

Bra tips Jonas... Tackar...


Alla tider är GMT +2. Klockan är nu 01:38.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson