|
|
Problém s vytvořením VIEW v MySQL
|
17.11.2007 21:09
Daniel Tlach
|
Zdravím,
řeším drobný problém s tvorbou VIEW v MySQL. Mám následující dotaz:
SELECT
item.title AS iTitle,
item.alias AS iAlias,
item.fulltext AS iText,
item.created AS iDate,
item.tags AS iTAgs,
cat.name AS catName,
cat.alias AS catAlias,
t.iComments
FROM
(
SELECT
item.id,
COUNT(c.id)
AS
iComments
FROM
blog_items
AS
item
LEFT JOIN
blog_comments
AS
c
ON
item.id = c.item
GROUP BY item.id
)
AS t
LEFT JOIN
blog_items AS item
ON
t.id = item.id
LEFT JOIN
blog_categories AS cat
ON
cat.id = item.id
ORDER BY
item.created
DESC
Samotný dotaz je OK, nicméně díky nemožnosti používat subquery ve FROM nejsem schopen jej uložit jako VIEW. Proto bych se rád optal zkušenějších, jak toto řešit. Z kódu by to mělo být jasné ale pro jistotu uvedu cíl dotazu. Vytvářím VIEW, které obsahuje seznam článků a k nim i název a ID kategorie do které patří. A jelikož se držím hesla, že téměř vše lze vykonat jedním dotazem, tak
jsem se rozhodl přidat rovnou i subdotaz, kterým zjistím počet komentářů k
jednotlivým článkům.
Kdyby někdo věděl, jak docílit zmíněného výsledku, budu rád když mi zanechá odpověď :-) |
|
|
Re: Problém s vytvořením VIEW v MySQL
|
18.11.2007 00:54
Aleš Hakl
|
V tomto pripade je ten vnoreny dotaz naprosto zbytecny, kdyz tz vsechny JOINy udelate hned v tom vnejsim a na vysledek aplikujete GROUP BY item.id, tak dostanete presne totez (mozna s tim rozdilem, ze to bude v MySQL fungovat). |
|
|
Re: Problém s vytvořením VIEW v MySQL
|
18.11.2007 01:27
Daniel Tlach
|
Tak ze dekuji... Zkusil jsem a funguje. Navic je cely dotaz o dost kratsi :) |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|