1396
Vývoj / Re:SQL select
« kdy: 05. 07. 2015, 14:33:59 »
Upozornuju, nasledujici reseni je pro FireBird (zkouseno na verzi 2.5)!!! Pro MySLQ je to podobny, ale misto LIST se pouziva GROUP_CONCAT a mozna jeste nejake drobne odlisnosti.
Uz jsem to vyresil, vytvoril jsem si vlastni pohled
coz mi vytvori radky v MujPohled neco jako
Sice se mi to zda porad nejaky prekombinovany a mozna bude existovat jednodussi metoda, ale takhle je to na tech par tisic radku co resim i docela rychly a hlavne to skladani podminek funguje bezvadne.
Uz jsem to vyresil, vytvoril jsem si vlastni pohled
Kód: [Vybrat]
create view MujPohled (ID, Vlastnosti) as select distinct ID, LIST('*' || Vlastnost || '*','') from Tabulka group by ID;coz mi vytvori radky v MujPohled neco jako
Kód: [Vybrat]
ID Vlastnosti
1 *A*
2 *A**B*
3 *A**C*
takze kazdou vlastnost mam ohranicenou z obou stran * a vyhledavam v nich pomoci napr Kód: [Vybrat]
select ID from MujPohled where Vlastnosti like '*A*' and Vlastnosti like '*B*';coz mi najde vsechny ID obsahujici A i B a logika WHERE se da kombinovat neomezene, coz se mi hodi, protoze hledani generuju z PHP pomoci pravidel vytvorenych uzivatelem pres par tlacitek - '(' ')' 'AND' 'OR' 'pridat vlastnost'.Sice se mi to zda porad nejaky prekombinovany a mozna bude existovat jednodussi metoda, ale takhle je to na tech par tisic radku co resim i docela rychly a hlavne to skladani podminek funguje bezvadne.