Autor Zpráva
monarcha
Profil
Ahoj všem.
mám tabulku zboží a v jedné kolonce je kód zboží, např. 12345/XXX. Potřeboval bych seskupit zboží podle kódu zboží tak, aby jeden řádek reprezentoval všechno zboží se stejným číslem před lomítkem. Je tohle vůbec v MySQL nějakým způsobem možné, nebo to budu muset vyřešit v php?
Casero
Profil
monarcha
sou dvě možnosti bud to rozdělit do 2 slopců, což myslím, se do budocna mohlo vyplatit, a nebo zkus nějako kombinaci s like nebo reg. výrazama
monarcha
Profil
Casero
Nj asi bude opravdu nejleší to rozdělit. Původně jsem si myslel, jestli třeba nelze napsat nějakou funkci přímo do sql, která by ten kód rozdělila a pak by SQl příkaz mohl vypadat např. takto:
SELECT

Nazev,
druhacast(Kod)
FROM
ZBOZI
GROUP BY
Nazev, prvnicast(Kod)
Casero
Profil
monarcha
no je to dost jednoduchý jen si vytvoříš sloupec, a pak vybereš všecky prvky toho sloupca rozděláš podle lomítka a uložíš už jako 2 samostatný sloupce otázka 3 minut
Kajman_
Profil *
group by substring_index(Kod, '/', 1)
monarcha
Profil
Kajman_
dík to je přesně to co jsem potřeboval.

Měl bych ale ještě jeden dotaz co se týče seskupování. V tabulce mám několik sloupců a potřebuji data seskupit např. podle sloupce kategorie. Ve výsledku bych ale chtěl mít všechny sloupce tak, aby data byla například z prvního rádku dané skupiny. Lze toho nějak jednoduše a elegantně dosáhnout?
Kajman_
Profil *
V defaulní konfiguraci lze vypsat i sloupečky nezahrnuté do group by - kdy jim bude dána asi ta první nebo náhodná hodnota. Jinak se dá vyřešit např.

select * from tabulka where id in (select min(id) from tabulka group by sloupecek)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0