Diskuze: Podobné názvy hodnot v tabulce
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 11 zpráv z 11.
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.


Tohle jednoduše asi nepůjde. Nemáš v té tabulce ještě nějaké záznamy, jako třeba IČO apod., podle kterých by se daly ty podobnosti najít?
Právě že jednoznačný identifikátor v tabulce je jen id. Dále jsou tam
pouze pomocné záznamy jako: kdo účet vytvořil, datum vytvoření účtu,
ulice, ... Ale všechno to jsou nepovinné parametry, takže např. kontrolovat
podle ulice by to šlo, ale obávám se, že mi z toho nevyplavou všechny
záznamy.
IČO je v jiné tabulce (tu jsem také kvůli duplicitám IČO procházel),
problém je, že to byl opět nepovinný údaj, takže spousta účtů IČO
nemá.
Mám obavy, že ti nezbyde nic jiného, než to seřadit podle názvu firmy a projít ručně...
Do toho se mi právě nechtělo 
Ale asi nic jiného nakonec nezbude.
Stejně díky
A co třeba takto:
SELECT
empl.id,
(
SELECT
dupl.id
FROM empl as dupl
WHERE
dupl.nazev LIKE LEFT(empl.nazev, 3) + '%' AND
dupl.id <> empl.id
FOR XML RAW ('dupliciCompanyId'), ROOT('companies'), ELEMENTS
) AS duplicitniIDs
FROM
empl
vhodnou úpravou sekce
dupl.nazev LIKE LEFT(empl.nazev, 3) + '%'
lze pokrýt odhadem tak 97% duplicit, případně si nad sloupcem s názvem
zapni fulttext, pokud to ta DB umí a nech si vyhledat shody ke všem
záznamům.
Zbytek brigádník, ale za podstatně kratší čas.
Hale paráda, moc děkuju, určitě vyzkoušim.
Brigádníka nemám, takže ho budu muset suplovat já sám.
Ale pohoda, určitě to hodně pomůže.
Ještě jednou díky
V tomto případě je problém ten, že nevím jestli že DB umí to:
FOR XML RAW ('dupliciCompanyId'), ROOT('companies'), ELEMENTS. (hazí mi to
chybu viz obrázek)
A když to zakomentuju, tak hláší, že subselect vrací víc jak jednu
hodnotu.
To je pravděpodobné, že vrací více hodnot. Sample je pro MSSQL, který vrací XML, zkus si pro svoji DB najit něco jako "convert multiple columns to one column", abysi měl hodnoty v jedné buňce oddělěné třeba středníkem.
Napiš si funkci, která má jako vstup sloupec 'name'. Funkce normalizuje název firmy, tj.
Select z tabulky potom zgrupuješ podle výstupu této funkce a vyhodnotíš duplicity pomocí HAVING COUNT(*) > 1
Zobrazeno 11 zpráv z 11.