Diskuze: MySQL dáta z dvoch tabuliek...
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 18 zpráv z 18.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
SELECT A.EAN
FROM A
JOIN B ON '%' + B.Poznamka + '%' LIKE A.EAN
Co takhle?
Skusil som to, ale nie... zacyklilo sa to a furt nic 
Zacyklilo? Na tom nemá co cyklovat. Kolik je v obou tabulkách záznamů?
Zacyklilo v zmysle... mysql pise nacitavam... a furt nic
v tabulke a je asi 5000 zaznamov
v tabulke b cca 100 000 zaznamov
V SQL sa veľmi podrobne nevyznám, ale nemalo to byť skôr takto?
…
JOIN [B] ON [B].[Poznamka] LIKE '%' + [A].[EAN] + '%'
Resp. ešte s konverziou A.EAN na nvarchar pomocou CONVERT(nvarchar, A.EAN)
nefunguje... iba nacita.... 
a spajanie retazcov pomocou "+" na mysql nefunguje
SELECT A.EAN
FROM A
JOIN B ON B.Poznamka LIKE CONCAT('%', CONVERT(A.EAN, CHAR(128)), '%')
Co tohle?
Ahoj, podle mě by se tam ještě mělo přidat
.... ON id.tab1 = id.tab1
protože jinak by to vypsalo všechny řádky. Takže by to bylo počet
řádků x počet sloupců + ještě bych tam hodil GROUP
BY.... mělo by to fungovat. Mohl bys použít i *USING**, ale to pouze
v případě, že máš totožné sloupce v obou tabulkách. 
Pak dej vědět, jestli to fungovalo 
Ale pozor souslednost příkazů (jak jsou za sebou)
//edit to "+" se může používat jen u "intových " hodnot, pokud je to opravdu číslo, tak se to aboutomaticky přetypuje na INT
fakt "id.tab1 = id.tab1" ? Nebo mi něco uniklo?
Můžeš sem dát EXPLAIN EXTENDED toho dotazu, co jsem ti napsal?
SQL dotaz: EXPLAIN EXTENDED SELECT albatros.EAN FROM albatros JOIN ponuka ON
ponuka.poznamka LIKE CONCAT('%', CONVERT(albatros.ean, CHAR(128)), '%');
Riadky: 2
id select_type table type possible_keys key key_len ref rows filtered
Extra
1 SIMPLE albatros index NULL ean 47 NULL 4842 100.00 Using index
1 SIMPLE ponuka ALL NULL NULL NULL NULL 114240 100.00 Using where; Using join
buffer (Block Nested Loop)
Solrry moje chyba... mělo tam bát samozřejmě **ON id.tab1 = id.tab2 **
Ono ak je moznost, lepsie by bolo tabulku B normalizovat.
Ale skus toto:
SELECT
t1.EAN
FROM tableA t1
INNER JOIN tableB t2
ON t2.remark LIKE CONCAT('%', CAST(t1.EAN AS CHAR(255)) , '%')
Zobrazeno 18 zpráv z 18.
