Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.4 specifikace Vulkan (Wikipedie), tj. standardu specifikujícího multiplatformní výpočetní a grafické API pro přístup k GPU. Vývojáři open source 3D knihovny Mesa už pracují na podpoře (Nvidia NVK, Radeon RADV, Apple Honeykrisp, …).
Dolphin (Wikipedie), tj. open source multiplatformní emulátor herních konzolí GameCube a Wii od Nintenda, byl vydán ve verzi 2412.
Zajímáte se o techniku, ale nemáte ve svém okolí s kým si o ní pokecat? Pak doražte 3. 12. na strahováckou Virtuální Bastlírnu, kde si můžete neformálně online popovídat s ostatními makery, hackery, hardwaráři, softwaráři, ale třeba i vědci a vysokoškolskými učiteli. Samozřejmě pro případy, kdyby řeč stála, mají bastlíři nachystaná i aktuální témata k nastartování diskuze. Jaká to jsou pro prosinec?
… více »Intel mění vedení. Pat Gelsinger skončil jako CEO.
V souvislosti s nárůstem falešných webových stránek, které se vydávají za oficiální webové stránky Portálu občana, Portálu identity občana nebo Portálu veřejné správy, se Digitální a informační agentura (DIA) rozhodla urychlit přechod Národní identitní autority na jednotnou státní doménu gov.cz a identitaobcana.cz tak přešla na identita.gov.cz [tisková zpráva].
Byla vydána verze 0.5.18 open source správce počítačových her na Linuxu Lutris (Wikipedie). Přehled novinek v oznámení na GitHubu. Instalovat lze také z Flathubu.
I letos vychází řada ajťáckých adventních kalendářů. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2024. Pro programátory v Perlu je určen Perl Advent Calendar 2024. Pro programátory v TypeScriptu Advent of TypeScript. Pro zájemce o kybernetickou bezpečnost je určen Advent of Cyber 2024…
Organizace Software Freedom Conservancy (SFC) společně se svým členským projektem OpenWrt oznámila oficiální spuštění prodeje Wi-Fi routeru OpenWrt One vyrobeného ve spolupráci s Banana Pi. Cena je 89 dolarů nebo 68,42 dolarů jenom deska. Z každého prodeje jde 10 dolarů do fondu OpenWrt v Software Freedom Conservancy. Projekt OpenWrt představil plán na výrobu vlastního routeru letos v lednu při příležitosti 20. výročí projektu.
Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.15. Díky 294 přispěvatelům.
Ahoj, mam nasledujucu qwery:
SELECT policy_table.user_group_name, policy_table.object_spec_desc, policy_table.action_spec_desc, policy_table.object_specification, service_type_action.service_type_name, service_type_action.action_name FROM policy_table LEFT JOIN service_type_action ON policy_table.action_specification = service_type_action.service_action_id;
z ktorej vypis je nasledujuci:
user_group_name | object_spec_desc | action_spec_desc | object_specification | service_type_name | action_name -----------------+------------------+------------------+----------------------+-------------------+------------- superUserGroup | user | serviceAction | bob | cas | grantAll analytici | userGroup | serviceAction | analytici | cas | grantAll vedci | userGroup | serviceAction | vedci | cas | grantAll vedci | trustAnchor | serviceAction | KarolovaTA | cas | grantAll superUserGroup | user | serviceAction | karol | cas | grantAll superUserGroup | object | serviceAction | 4 | cas | grantAll superUserGroup | objectGroup | serviceAction | data | cas | grantAll superUserGroup | serviceType | serviceAction | directory | cas | grantAll superUserGroup | object | serviceAction | 1 | cas | superuser analytici | objectGroup | serviceAction | data | directory | citanie superUserGroup | object | serviceAction | 1 | directory | citanie
Ak object_specification je cislo tak referuje na object_id tabulky object_table kde v stlpci object_name
je meno objektu ktore potrebujem zobrazit vo vypise miesto tohoto cisla. Ak v qwery miesto policy_table.object_specification
dam vnoreny select: (SELECT object_table.object_name FROM object_table WHERE object_table.object_id = policy_table.object_specification LIMIT 1)
tak sa mi mena tych objektov vo vypise zobrazia, ale ostatne riadky v stlpci object_specification su prazdne.
Cela qwery po pridani vnoreneho selectu:
SELECT policy_table.user_group_name, policy_table.object_spec_desc, policy_table.action_spec_desc, (SELECT object_table.object_name FROM object_table WHERE object_table.object_id = policy_table.object_specification LIMIT 1), service_type_action.service_type_name, service_type_action.action_name FROM policy_table LEFT JOIN service_type_action ON policy_table.action_specification = service_type_action.service_action_id;
user_group_name | object_spec_desc | action_spec_desc | ?column? | service_type_name | action_name -----------------+------------------+------------------+--------------------------+-------------------+------------- superUserGroup | user | serviceAction | | cas | grantAll analytici | userGroup | serviceAction | | cas | grantAll vedci | userGroup | serviceAction | | cas | grantAll vedci | trustAnchor | serviceAction | | cas | grantAll superUserGroup | user | serviceAction | | cas | grantAll superUserGroup | object | serviceAction | ftp://ulozisko.yweb.sk/* | cas | grantAll superUserGroup | objectGroup | serviceAction | | cas | grantAll superUserGroup | serviceType | serviceAction | | cas | grantAll superUserGroup | object | serviceAction | casServer | cas | superuser analytici | objectGroup | serviceAction | | directory | citanie superUserGroup | object | serviceAction | casServer | directory | citanie
Nevie mi niekto poradit ako formulovat qwery aby sa zobrazili mena aj mena objektov sucasne?
SELECT object_table.object_name FROM object_table WHERE object_table.object_id = policy_table.object_specification LIMIT 1dotaz záznam.
No to nie lebo su tam iba dva zaznamy cize na object_id = 1 a 4. Tu je tabulka object_table:
object_id | object_name | namespace_nickname -----------+--------------------------+-------------------- 1 | casServer | casNamespace 4 | ftp://ulozisko.yweb.sk/* | FTPDirectoryTree
SELECT policy_table.user_group_name, policy_table.object_spec_desc, policy_table.action_spec_desc, object_table.object_name, (SELECT object_table.object_name FROM object_table WHERE (object_table.object_id = policy_table.object_specification or object_table.object_name = policy_table.object_specification) LIMIT 1), service_type_action.service_type_name, service_type_action.action_name FROM policy_table LEFT JOIN service_type_action ON policy_table.action_specification = service_type_action.service_action_id;Případně tam dej druhý join s object_table (takže ve výsledku bude join 3 tabulek).
TO nie vyhoti my to chybu:
CHYBA: chýbajúci záznam v klauzuli FROM pre tabulku "object_table"
Pouzi Case
Case
When (SELECT object_table.object_name FROM object_table WHERE object_table.object_id = policy_table.object_specification LIMIT 1) = Null Then policy_table.object_specification
Else (SELECT object_table.object_name FROM object_table WHERE object_table.object_id = policy_table.object_specification LIMIT 1)
End Case
Neviem ci je spravny syntax. Ja pisem hlavne v TSQL
Popripade urob ten join a vysledok urob z obidvoch stlpcov cez case alebo isnull (ma mysql isnull?)
Super, takto som to upravil a ide to:
SELECT policy_table.user_group_name, policy_table.object_spec_desc, policy_table.action_spec_desc, CASE WHEN (SELECT object_table.object_name FROM object_table WHERE object_table.object_id = policy_table.object_specification LIMIT 1) IS NULL THEN policy_table.object_specification ELSE (SELECT object_table.object_name FROM object_table WHERE object_table.object_id = policy_table.object_specification LIMIT 1) END, service_type_action.service_type_name, service_type_action.action_name FROM policy_table LEFT JOIN service_type_action ON policy_table.action_specification = service_type_action.service_action_id;
Dakujem Vsetkym za pomoc, hlavne pSipi.
object_table
).NVL()
, v MySQL se jmenuje IFNULL(sloupeček1, sloupeček2)
– pokud je sloupeček1
NULL, nahradí se hodnotou sloupeček2
. Místo sloupeček2
může být i vnořený dotaz:
IFNULL(sloupeček1, (SELECT 'ahoj')Jenže tady narážíš na prasáckost toho modelu – alespoň malé zlepšení by bylo, mít tam místo jednoho sloupečku dva – pokud je ten jeden nulový (NULL), dohledáš si pomocí
ifnull
druhého sloupečku a vnořeného dotazu tu správnou hodnotu (pak se ten vnořený select pustí, jen když je potřeba).Tiskni Sdílej: