[mysql] compare w zapytaniu
albert - 13-11-2006 00:43
[mysql] compare w zapytaniu
w bazce mysqla mam pole typu tekst, w tym polu zapisuje np. (cyfry sa rozdzielone znakiem \n) 1 2 3 5
inny rekord ma 1 2 4 8
jak najlepiej porownac te dwa rekordy znajac ID jednego i drugiego ? chodzi o to zeby wyswietlil roznice lewy do prawego i na odwrot? 3, 5 4, 8
Michał Kuratczyk - 13-11-2006 00:43
albert wrote:
> w bazce mysqla mam pole typu tekst, w tym polu zapisuje np. (cyfry sa > rozdzielone znakiem \n) > 1 > 2 > 3 > 5 > > inny rekord ma > 1 > 2 > 4 > 8 > > jak najlepiej porownac te dwa rekordy znajac ID jednego i drugiego ? Najlepiej, to wrócić do etapu projektowania tych tabel i zrobić to po bożemu. Skoro te liczby, to istotne wartości same w sobie, to nie wrzucaj ich do jednego pola, tylko każdą osobno. Np: id | val 1 | 1 1 | 2 1 | 3 1 | 5 2 | 1 2 | 2 2 | 4 2 | 8
select val from tab where id = 1 minus select val from tab where id = 2;
select val from tab where id = 2 minus select val from tab where id = 1;
-- Michał Kuratczyk
albert - 13-11-2006 00:43
Użytkownik "Michał Kuratczyk" <kura@lj.pl> napisał w wiadomości news:egns80$3d2$1@news2.ipartners.pl...
> Najlepiej, to wrócić do etapu projektowania tych tabel i zrobić to po > bożemu. Skoro te liczby, to istotne wartości same w sobie, to nie wrzucaj > ich do jednego pola, tylko każdą osobno. Np: > id | val > 1 | 1 > 1 | 2 > 1 | 3 > 1 | 5 > 2 | 1 > 2 | 2 > 2 | 4 > 2 | 8 > > select val from tab where id = 1 > minus > select val from tab where id = 2; > > select val from tab where id = 2 > minus > select val from tab where id = 1;
to by bylo mile, ale juz nierealne :) jest jak jest i musze z tym zyc. zreszta to nie sa cyfry tylko ciagi znakow rozdzielone \n pokazalem na przykladzie cyfr zeby nie macic :) w jednym polu tekstowym A jest iles tam wierszy stringow i drugim tez tekstowym B tez iles tam wierszy stringow, chce pokazac tylko te wiersze z A ktore nie sa w B i na odwrot....
Michał Kuratczyk - 13-11-2006 00:43
albert wrote: > to by bylo mile, ale juz nierealne :) jest jak jest i musze z tym zyc. Czasem odnoszę wrażenie, że jestem jedyną osobą, która ma do czynienia z nieidealnym softwarem. Dla innych modyfikowanie aplikacji jest nierealne, czyli jak rozumiem mają idealny software, skończony raz na zawsze i nigdy więcej nie podlegający zmianom...
PS To nie jest personalna uwaga do Ciebie - po prostu ile razy ktoś tu pyta jak wykonać zapytanie na spartolonym schemacie, to się okazuje, że woli siedzieć i myśleć jak go użyć, niż go poprawić. Z czego to się bierze?! -- Michał Kuratczyk
Przemyslaw Popielarski - 13-11-2006 00:44
Michał Kuratczyk wrote: > select val from tab where id = 1 > minus ^^^^^
nie ma czego takiego w tym rdbms
-- ../ premax ../ premax@hot.pl ../ koniec i bomba, a kto czytal ten traba. w.g.
Michał Kuratczyk - 13-11-2006 00:44
Przemyslaw Popielarski wrote: > Michał Kuratczyk wrote: >> select val from tab where id = 1 >> minus > ^^^^^ > nie ma czego takiego w tym rdbms
Ups. To tak:
select id, val from tab where id = 1 and val not in (select val from tab where id = 2);
-- Michał Kuratczyk
albert - 13-11-2006 00:44
>> Michał Kuratczyk wrote: >>> select val from tab where id = 1 >>> minus >> ^^^^^ >> nie ma czego takiego w tym rdbms > > Ups. To tak: > > select id, val from tab > where id = 1 and val not in (select val from tab where id = 2);
nie w tym mysqlu :(
Przemyslaw Popielarski - 13-11-2006 00:44
albert wrote: >> select id, val from tab >> where id = 1 and val not in (select val from tab where id = 2); > > nie w tym mysqlu :(
To masz staroć sprzed kilku lat. I pisz wersję, a nie ze sie kilka osob we wrozki bawi, bo Tobie sie nie chcialo.
-- ../ premax ../ premax@hot.pl ../ koniec i bomba, a kto czytal ten traba. w.g.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
MySQL - jak =?ISO-8859-2?Q?wyeksportowa=E6_zawarto=B6=E6_wie?==?ISO-8859-2?Q?lkiej_tabeli?=
zanotowane.pldoc.pisz.plpdf.pisz.pllunadance.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|