Ahoj.
Mám 5 tabulek.
1. item [id|display|name]
2. like_item [id|item|aitem|popularity]
3. like_categori [id|item|categori|popularity]
4. noitem [id|user|item]
5. assign [id|item|categori]
Vstupní proměné:
item = aktualni item
user = uzivatel
propojeni:
item.id = like_item.aitem
assign.item = item.id
assign.categori = like.categori.categori
noitem.item = item.id
Potřebuju vypsat nazvy produktů které:
a) like_item.item = $item nebo like_categori.item = $item
b) nesmi existovat radek noitem.item = item.id and noitem.user = $user
c) produkty musi byt seřazeny podle popularity, bud popularita u like_item nebo like_categori, podle toho odkud je ten produkt prirazenej...
Ja si s tim už nevím rady... prosim posilejte jakekoliv napady
Díky
Fórum › MySQL
Slučovnání tabulek
hledas JOIN? nebo co myslis?
navrh mas pomerne obsahlej a vypada ze to staci prepsat do SQL .. skoro doslovne
pripadne muzes postupovat po jednotlivejch tabulkach.. v nejakem hodne rozsahlem projektu by to mohlo usetrit dost casu na spojovani
Děkuji za reakci...
Ale již jsem to vyřešil sám
výsledný kod je:
SELECT
i.name,
i.url_name,
i.id,
lc.categori,
li.display
FROM
eshop_item i,
eshop_item_like_categori lc,
eshop_item_like_item li,
eshop_assign_to_categori a
WHERE
(
(
li.item = '".$item['id']."' and
li.aitem = i.id and
a.id = '0' and
lc.id = '0'
) or (
lc.item = '".$item['id']."' and
lc.categori = a.categori and
a.item = i.id and
li.id = '0'
)
) and
i.display = '1' and
NOT EXISTS (SELECT lni.id FROM eshop_item_like_noitem lni WHERE lni.item = i.id and lni.user = '".$user."')
GROUP BY i.id
ORDER BY (li.popularity + lc.popularity) DESC, RAND()
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 10 hostů
Podobná vlákna
Provazani tabulek — založil radek pechak
Sloučení tabulek — založil CZechB0Y
Seznam tabulek — založil ProgDan
Spojení tabulek — založil Paja2
Linkování tabulek — založil Toka
Moderátoři diskuze