O víkendu probíhá konference OpenAlt 2025 (Stream). Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.
Josef Průša představil novou velkoformátovou uzavřenou CoreXY 3D tiskárnu Prusa CORE One L a nový open source standard chytrých cívek OpenPrintTag i s novou přepracovanou špulkou.
Na GOG.com běží Autumn Sale. Při té příležitosti je zdarma hororová počítačová hra STASIS (ProtonDB: Platinum).
Ubuntu 25.10 má nově balíčky sestavené také pro úroveň mikroarchitektury x86-64-v3 (amd64v3).
Byla vydána verze 1.91.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Ministerstvo průmyslu a obchodu vyhlásilo druhou veřejnou soutěž v programu TWIST, který podporuje výzkum, vývoj a využití umělé inteligence v podnikání. Firmy mohou získat až 30 milionů korun na jeden projekt zaměřený na nové produkty či inovaci podnikových procesů. Návrhy projektů lze podávat od 31. října do 17. prosince 2025. Celková alokace výzvy činí 800 milionů korun.
Google v srpnu oznámil, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Iniciativa Keep Android Open se to snaží zvrátit. Podepsat lze otevřený dopis adresovaný Googlu nebo petici na Change.org.
Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
skupina1: user1 skupina2: user1, user2 skupina3: user1 potom budou data selectu z pohledu vypadat takto: user1 skupina1 user1 skupina2 user1 skupina3 user2 skupina2
SELECT uzivatel.* FROM uzivatel, uzivatel_skupina WHERE uzivatel.id = uzivatel_skupina.uzivatel_id AND uzivatel_skupina.skupina_id = ?Případně si z toho můžete udělat pohled a tu druhou podmínku z
WHERE používat až nad tím pohledem.
JOIN, protože při spojení tří a více tabulek nějak nikde nevidím levou a pravou tabulku
Relační databáze je podle mne relační právě proto, že jsou v ní vyjádřené vztahy (relace) mezi entitami. K jejich získávání je pak samozřejmě potřeba spojení tabulek (JOIN). Pokud nějaká databáze neimplementuje JOIN, může to být objektová databáze, síťová, mapa, ale ne relační databáze.
CREATE DATABASE omg;
CREATE TABLE wtf (id INT NOT NULL); --na pk kašlu, pro teď to není důležitý
tim se vytvoří databáze s právě jednou relací (tabulkou)
ta databáze je relační, protože obsahuje relaci (tabulku)
CREATE VIEW lol AS SELECT id FROM wtf
stále máme relační databázi, která teď obsahuje právě dvě relace (jednu tabulku a jeden pohled)
jestli to není jasný ani teď, tak mi nezbejvá než odkázat na http://en.wikipedia.org/wiki/Relational_database
SELECT
u.id,
u.username
FROM users u
INNER JOIN user2group u2g ON u2g.user = u.id
WHERE u2g.group = <dana_skupina>
Jinak pokud jsou uzivatelska jmena unikatni, nemohou byt rovnou pouzita jako primarni klic?
Pak by totiz stacilo:
SELECT username FROM user2group WHERE group = <dana_skupina>
SELECT DISTINCT uzivatel.* FROM uzivatel, uzivatel_skupina WHERE uzivatel.id = uzivatel_skupina.uzivatel_id AND uzivatel_skupina.skupina_id IN (?)
Pokud nezadám "where group=" tak by se měli zobrazit všichi uživatelé, ale jen jednouKdyz bude uzivatel ve dvou skupinach, ma se tedy ve sloupci se skupinou zobrazit jen jedna z nich? Ktera? Nebude jednodussi v takovem pripade selectit primo s tabulky s uzivateli, kdyz vas skupiny v takovem pripade nezajimaji?
SELECT
id
FROM users
WHERE id IN (
SELECT user
FROM user2group
WHERE group = ?
);
Tzn. tu podminku where group= nahradit touto a chova se to presne jak potrebujete ;]
select uid from view_u2g where gid='...'Tak dostanete uživatele v dané skupině. Uživatele v ruzných skupinách pak třeba přes operátor "in" s použitím "distinct"
select distinct uid from view_u2g where gid in('gid1','gid2',...)
Tiskni
Sdílej: