Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] Problem z relacjami
Mappet
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 10.06.2004

Ostrzeżenie: (0%)
-----


Witam

Mam drobny problem z relacją. Poniżej przedstawiam strukturę

Kod
//Tabela SQL_NAME_IMAGETOPRODUCT
----------------------
| id | imageid | productid
----------------------

//Tabela SQL_NAME_IMAGE
----------------------
| id | name | file
----------------------

//Tabela SQL_NAME_SHOPPRODUCT
----------------------
| id | name
----------------------

Powyżej przedstawiłem przykładową strukturę...

Teraz chciałem wyświetlić produkty przypisując im obrazy. ten produkt który posiada obraz zwraca jego nazwę jeżeli nie posiada zapytanie zwraca NULL.

Błąd polega na tym że w momencie gdy dany produkt ma przypisany obraz zapytanie informuje mnie że produkt nie posiada żadnych obrazów i zwraca puste pole

Zapytanie które wykorzystuje
Kod
SELECT
    `t1`.`id`,
    `t1`.`categoryid`,
    `t1`.`name`,
    `t1`.`shorttext`,
    `t1`.`price`,
    `t1`.`discount`,
    IF(`t1`.`discount` IS NOT NULL,`t1`.`price`-`t1`.`discount`,NULL) as `discounted`,
    IF(`t2`.`id` = `t3`.`imageid`,`t2`.`name`,NULL) as `img`
FROM
    `".SQL_NAME_SHOPPRODUCT."` `t1`
LEFT JOIN
    `".SQL_NAME_IMAGE."` `t2`,
    `".SQL_NAME_IMAGETOPRODUCT."` `t3`
ON
    `t1`.`id` = `t3`.`productid`  AND
    `t2`.`id` = `t3`.`imageid`  
WHERE
    `t1`.`publish` = '1'
GROUP BY
    `t1`.`id`
ORDER BY RAND()
LIMIT $limit


--------------------
Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 19:18