abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:00 | Zajímavý článek

    Byly zveřejněny výsledky průzkumu mezi vývojáři v programovacím jazyce Rust: 2023 Annual Rust Survey Results. Téměř 70 % účastníků průzkumu vyvíjí na Linuxu, 85 % pro Linux, téměř 62 % používá Visual Studio Code, …

    Ladislav Hagara | Komentářů: 3
    včera 21:11 | Nová verze

    Dlaždicový správce oken, resp. kompozitor pro Wayland Sway byl vydán ve verzi 1.9 založené na wlroots 0.17. Měl by poskytovat lepší výkon a přidává několik konfiguračních voleb, příkazů atd.

    Fluttershy, yay! | Komentářů: 0
    včera 13:33 | Nová verze

    Byla vydána nová verze 2.44.0 distribuovaného systému správy verzí Git. Přispělo 85 vývojářů, z toho 34 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    24.2. 17:11 | Nová verze

    KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 8.0.0 (𝕏). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    24.2. 16:55 | Nová verze

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    24.2. 12:33 | Nová verze

    Google zveřejnil seznam 195 organizací přijatých do letošního Google Summer of Code (GSoC). Dle plánu se zájemci přihlašují od 18. března do 2. dubna. Vydělat si mohou od 750 do 6600 dolarů. V Česku a na Slovensku je to 900 dolarů za malý, 1800 dolarů za střední a 3600 dolarů pro velký projekt. Další informace v často kladených otázkách (FAQ). K dispozici jsou také statistiky z minulých let.

    Ladislav Hagara | Komentářů: 0
    24.2. 08:00 | Nová verze

    Mixxx (Wikipedie), tj. svobodný software určený (nejenom) pro diskžokeje, byl vydán v nové major verzi 2.4.0. Přehled novinek i s videi v oficiálním oznámení. Aktualizována byla také uživatelská příručka. Oficiální flatpak je k dispozici na Flathubu.

    Ladislav Hagara | Komentářů: 0
    23.2. 18:44 | IT novinky

    Softwarová společnost Avast musí ve Spojených státech zaplatit pokutu 16,5 milionu dolarů (více než 386 milionů Kč) a přestat prodávat data o uživatelích k reklamním účelům. V tiskové zprávě to ve čtvrtek oznámila americká Federální obchodní komise (FTC). Společnost Avast se sídlem v Británii se podle FTC nedovoleného jednání dopouštěla přes svou českou součást Jumpshot.

    Ladislav Hagara | Komentářů: 41
    23.2. 14:33 | Zajímavý článek

    Andrey Konovalov popisuje, jak se mu podařilo na notebooku Lenovo ThinkPad X1 Carbon 6. generace povolit řadič xDCI, aby umožnil emulaci libovolných USB zařízení.

    Fluttershy, yay! | Komentářů: 1
    23.2. 10:00 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.2 Kereru. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    Kolik máte nálepek na víku notebooku?
     (17%)
     (60%)
     (5%)
     (4%)
     (5%)
     (9%)
    Celkem 386 hlasů
     Komentářů: 14, poslední 24.2. 17:01
    Rozcestník

    Dotaz: Mysql - dotaz

    28.1.2016 10:29 alio
    Mysql - dotaz
    Přečteno: 1365×
    Ahoj,

    řeším jeden složitější SQL dotaz a nevím, jak ho správně sestavit. Můžu poprosit o pomoc?

    Jde o to, že mám tabulky:

    recepty > id, nazev, popis recepty_kategorie > id_receptu, id_kategorie (1 recept = N kategorií) kategorie > id, nazev

    Nacházím se v detailu receptu. A potřebuju vypsat 3 podobné recepty, ze stejných kategorií, jako je vybraný recept.

    Snad jsem to napsal srozumitelně.

    Díky!


    Řešení dotazu:


    Odpovědi

    28.1.2016 10:31 alio
    Rozbalit Rozbalit vše Re: Mysql - dotaz
    Omlouvám se za formátování, napravuji:

    Jde o to, že mám tabulky:

    recepty > id, nazev, popis
    recepty_kategorie > id_receptu, id_kategorie (1 recept = N kategorií)
    kategorie > id, nazev
    Nacházím se v detailu receptu. A potřebuju vypsat 3 podobné recepty, ze stejných kategorií, jako je vybraný recept.

    Snad jsem to napsal srozumitelně.

    Díky!

    28.1.2016 10:40 NN
    Rozbalit Rozbalit vše Re: Mysql - dotaz
    Jak vypada tabulka, kdyz ma recept vice kategorii?
    28.1.2016 12:04 alio
    Rozbalit Rozbalit vše Re: Mysql - dotaz
    recept_id = 1, kategorie_id = 2
    recept_id = 2, kategorie_id = 7
    recept_id = 1, kategorie_id = 12
    recept_id = 3, kategorie_id = 8
    recept_id = 1, kategorie_id = 3
    např.... díky
    28.1.2016 12:17 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Mysql - dotaz
    Nejprve si zkus základní vazbu M:N mezi tabulkami. Pak už jen stačí přidat klauzuli WHERE a případně LIMIT.
    SELECT recepty.id, recepty.nazev, kategorie.id, kategorie.nazev
        FROM recepty
        JOIN recepty_kategorie AS rk ON recepty.id=rk.id_receptu
        JOIN kategorie ON rk.id_kategorie=kategorie.id
    
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    28.1.2016 12:34 alio
    Rozbalit Rozbalit vše Re: Mysql - dotaz
    Děkuji za pomoc.

    Ještě jedna drobnost - ten SQL se volá v detailu receptu a vlastně nabízí podobné recepty tomu, který si uživatel prohlíží.

    Tzn. tomu SQL bych potřeboval říct ještě (a to nedokážu doplnit tak, aby to fungovalo), jaké je aktuální ID receptu (recepty.id=1), aby dotaz nalezl podobné recepty podle stejných kategorií.

    Děkuji všem
    28.1.2016 12:42 ttt
    Rozbalit Rozbalit vše Re: Mysql - dotaz
    WHERE a LIMIT na to nestačí bez toho, aby tam bylo něco natvrdo. Recept 1 spadá do kategorií (a,b,c,...), cíl je najít jiný recept, který spadá do těch samých kategorií. Bude to myslím něco jako
    SELECT rk_other.id_receptu
    FROM recepty
        JOIN recepty_kategorie AS rk ON recepty.id=rk.id_receptu
        JOIN recepty_kategorie AS rk_other USING(id_kategorie)
    WHERE recepty.id = 1
    GROUP BY rk_other.id_receptu
    ORDER BY COUNT(DISTINCT id_kategorie) DESC
    LIMIT 10
    
    28.1.2016 13:07 alio
    Rozbalit Rozbalit vše Re: Mysql - dotaz
    To je přesně ono - díky moc! :)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.