Autor Zpráva
Enko
Profil
Ahoj,
mám toto:
                       SELECT
                       id, id_zamestnance, jmeno_zamestnance, z_restaurace, z_restaurace_mpk, na_restauraci, na_restauraci_mpk, hruba_mzda,
                       dovolena, ops_bonus, jpa_bonus, ebitda_bonus, odmeny, pozitky, buty, poznamka, typ
                       FROM preuctovani
                       WHERE
                       (MONTH(kdy_zadal)=10
                       AND
                        YEAR (kdy_zadal)=2014)
                       AND
                       smazano=0
                       AND
                       kdy_upraveno < (SELECT uzaverka
                                       FROM `uzaverka_mesice`
                                       WHERE
                                       (MONTH(uzaverka_mesice.uzaverka)=10
                                       AND
                                       YEAR(uzaverka_mesice.uzaverka)=2014))
                      UNION ALL
                      SELECT
                       id, id_zamestnance, jmeno_zamestnance, restaurace AS z_restaurace, restaurace_mpk AS z_restaurace_mpk, uctovat_na AS na_restauraci, uctovat_na_mpk AS na_restauraci_mpk, empty AS hruba_mzda,
                       empty AS dovolena, empty AS ops_bonus, empty AS jpa_bonus, empty AS ebitda_bonus, castka AS odmeny, empty AS pozitky, empty AS buty, poznamky AS poznamka, typ
                       FROM odmeny
                       WHERE
                       (MONTH(kdy_zadal)=10
                       AND
                        YEAR (kdy_zadal)=2014)
                       AND
                       smazano=0
                       AND
                       kdy_upraveno < (SELECT uzaverka
                                       FROM `uzaverka_mesice`
                                       WHERE
                                       (MONTH(uzaverka_mesice.uzaverka)=10
                                       AND
                                       YEAR(uzaverka_mesice.uzaverka)=2014))
                       UNION ALL
                       SELECT
                       odmeny_na_region.id, odmeny_na_region.id_zamestnance as id_zamestnance, odmeny_na_region.jmeno_zamestnance as jmeno_zamestnance, odmeny.restaurace AS z_restaurace, odmeny_na_region.mpk_puvodni AS z_restaurace_mpk, odmeny_na_region.uctovat_na AS na_restauraci, odmeny_na_region.uctovat_na_mpk AS na_restauraci_mpk, odmeny.empty AS hruba_mzda,
                       odmeny.empty AS dovolena, odmeny.empty AS ops_bonus, odmeny.empty AS jpa_bonus, odmeny.empty AS ebitda_bonus, odmeny_na_region.castka AS odmeny, odmeny.empty AS pozitky, odmeny.empty AS buty, odmeny.poznamky AS poznamka, odmeny.typ
                       FROM odmeny_na_region
                       LEFT JOIN odmeny ON odmeny_na_region.parent_id = odmeny.id
                       WHERE
                       (MONTH(odmeny.kdy_zadal)=10
                       AND
                        YEAR (odmeny.kdy_zadal)=2014)
                       AND
                       odmeny.smazano=0

                       AND
                       odmeny.kdy_upraveno < (SELECT uzaverka
                                       FROM `uzaverka_mesice`
                                       WHERE
                                       (MONTH(uzaverka_mesice.uzaverka)=10
                                       AND
                                       YEAR(uzaverka_mesice.uzaverka)=2014))
A při spuštění tohoto SQL dotazu mi to napíše chybu #1271 - Illegal mix of collations for operation 'UNION', ale ať bádám, jak bádám, tak podle všeho mám stejný počet sloupců i se stejnou strukturou. Může být tato chyba způsobená ještě něčím jiným, než že je jiný počet sloupců mezi UNION ALL dotazy?
Pokud spustím první dva SELECT bloky, tak mi to data vypíše. Pokud pustím samostatně poslední (třetí) SELECT, tak mi to taky vypíše data. Struktura a názvy sloupců z těchto dvou samostatných SELECTů vypadá stejně. Snad jsem se nepřehlédnul. Bohužel debugovací nástroj v PMA je velmi skoupý na informace, co přesně a kde mu vadí. Vidí někdo, kde můžu mít chybu? Nebo máte někdo typ na debugovací nástroj, který mi dokáže přesně říct, co přesně je špatně?
Kajman
Profil
Jaké je porovnání (collation) jednotlivých textových sloupců ze všech tří tabulek?
juriad
Profil
Máš v nějaké tabulce nebo sloupci nastaveno COLLATION jiné než všude jinde. Collation popisuje pravidla pro řazení (ignorování velkých písmen, pořadí národních znaků).
Nejspíš někde je utf8_general_ci a jinde utf8_czech_ci.
Enko
Profil
Ano, bylo to přesně tím porovnáním, přesně jak píšete. U jednoho sloupce jsem se překlikl při vytváření tabulky a měl jsem utf8_general_ci namísto utf8_czech_ci.

Děkuji za pomoc

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: