problem z MAX()
asd - 11-11-2005 11:41
problem z MAX()
Mam dokumenty w bazie, kazdy z nich ma swoj identyfikator w postaci
a-rr-mm-xx
kazdy nowo dodawany dokument, powinien miec id w postaci a-rr-mm-xx+1
wybieram sobie Max(sid) z tabeli, ale zamiast dac mi numerek a-05-10-137 to wypluwa mi a-05-10-99. nie kapuje czemu, zauwazylem ze jak wyswietle wszyskie identyfikatroy po koleji, to wyglada to tak: 05-10-99 05-10-98 ... a-05-10-85 a-05-10-84 a-05-10-137 a-05-10-136 ..... // z tymi numerkami jest klopot a-05-10-101 a-05-10-100 a-05-09-83 a-05-09-82 ... jak sobie kurcze blaszka z tym poradzic? wyciagac jakos '*-NUMEREK' z kolumny w ktorej mam te identyfikatory, czy co?
asd - 11-11-2005 11:41
aha, problem dotyczy MySql-a
Andrzej Kubik - 11-11-2005 11:41
asd napisał(a):
> wybieram sobie Max(sid) z tabeli, ale zamiast dac mi numerek a-05-10-137 to > wypluwa mi a-05-10-99. > nie kapuje czemu,
MySQLa to ja widziałem u kogoś przez ramię, ale i bez tego widać jak wół, że sortuje ci to pole znakowo, a Ty z jakiegos powodu oczekujesz że program potraktuje tego rodzaju ciąg znaków jak liczbę.
Aż tak dobrze to nie ma -- ____ __ / _ | / / Andrzej Kubik / /_| |/ / e-mail:andrzej(małpa)abaq.lodz.pl / ___ _ \ http://www.abaq.lodz.pl /_/ |_/ \_\ ::: Netykieta - jestem za! :::
asd - 11-11-2005 11:41
Użytkownik "Andrzej Kubik" <ADRES_W_STOPCE@SPAM_NA_BERDYCZOW.pl> napisał w wiadomości news:dkqib9$frn$1@achot.icm.edu.pl... > asd napisał(a): > > > wybieram sobie Max(sid) z tabeli, ale zamiast dac mi numerek a-05-10-137 to > > wypluwa mi a-05-10-99. > > nie kapuje czemu, > > MySQLa to ja widziałem u kogoś przez ramię, ale i bez tego widać jak > wół, że sortuje ci to pole znakowo, a Ty z jakiegos powodu oczekujesz > że program potraktuje tego rodzaju ciąg znaków jak liczbę. > > Aż tak dobrze to nie ma
a szkoda :) no nic, dzieki. rozumiem ze jak zostawie sama liczbe w tej komorce(np. 051099) to juz bedzie smigac wszystko? zero na poczatku nie bedzie stanowilo problemu?
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 11-11-2005 11:41
asd wrote: > Mam dokumenty w bazie, kazdy z nich ma swoj identyfikator w postaci > > a-rr-mm-xx > > kazdy nowo dodawany dokument, powinien miec id w postaci a-rr-mm-xx+1 > > wybieram sobie Max(sid) z tabeli, ale zamiast dac mi numerek a-05-10-137 to > wypluwa mi a-05-10-99. > nie kapuje czemu
Bo 9 jest większe od 1.
> jak sobie kurcze blaszka z tym poradzic? > wyciagac jakos '*-NUMEREK' z kolumny w ktorej mam te identyfikatory, czy co?
Wyciągnij substringiem. Ale ja w takich sytuacja wole podzielić to na kilka kolumn i wyliczać wartośc takiego identyfikatora wtedy kiedy jest potrzebny (a czasmi wbrew zasadom normalizacji przechowuje i te kilk kolumn i wynik złonczenia).
-- P.M.
asd - 11-11-2005 11:41
Użytkownik "Paweł Matejski" <madej@spam.madej.pl.eu.org> napisał w wiadomości news:dkqk8b$43n$1@inews.gazeta.pl... > asd wrote: > > Mam dokumenty w bazie, kazdy z nich ma swoj identyfikator w postaci > > > > a-rr-mm-xx > > > > kazdy nowo dodawany dokument, powinien miec id w postaci a-rr-mm-xx+1 > > > > wybieram sobie Max(sid) z tabeli, ale zamiast dac mi numerek a-05-10-137 to > > wypluwa mi a-05-10-99. > > nie kapuje czemu > > Bo 9 jest większe od 1. > > > jak sobie kurcze blaszka z tym poradzic? > > wyciagac jakos '*-NUMEREK' z kolumny w ktorej mam te identyfikatory, czy co? > > Wyciągnij substringiem. Ale ja w takich sytuacja wole podzielić to na kilka > kolumn i wyliczać wartośc takiego identyfikatora wtedy kiedy jest potrzebny (a > czasmi wbrew zasadom normalizacji przechowuje i te kilk kolumn i wynik złonczenia).
w moim przypadku najwieksza wartosc musze znalezc tylko raz(przy dodawaniu nowego dokumentu), zadnych innych operacji wymagajacych sortowania tej kolumnu nie wykonuje. moglbym to rozbic na 2 kolumny a-yy-mm i xx ale wolalbym jednak tego uniknac, trzeba by poprawic kilka funkcji tym samym i kombinowac z wyszukiwarka miedzy innymi.
a z tym substringiem, mozna to jakos jednym zapytaniem zalatwic?
Trzypion - 11-11-2005 11:41
On Tue, 8 Nov 2005 16:33:23 +0100, "asd" <asd@asd.asd> wrote:
> >wybieram sobie Max(sid) z tabeli, ale zamiast dac mi numerek a-05-10-137 to >wypluwa mi a-05-10-99. >nie kapuje czemu, zauwazylem ze jak wyswietle wszyskie identyfikatroy po >koleji,
Bo string a-05-10-99 jest w kolejności alfabetycznej za a-05-10-137. A dokładniej, a-05-10-9 jest za a-05-10-1
-- ___________ (R) /_ _______ Adam 'Trzypion' Płaszczyca (+48 502) 122 688 ___/ /_ ___ ul. Ludwiki 1 m. 74, 01-226 Warszawa _______/ /_ http://trzypion.oldfield.org.pl/fotk...rterka/II_MPL/ ___________/ GG: 3524356
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
mysql i mysql-front, problem
String line; if (line=="cos"){...}....problem
Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
[postgres] Problem z =?ISO-8859-2?Q?zmian=B1_struktury_i_z?==?ISO-8859-2?Q?ale=BFno=B6ciami=2E?=
[oracle] =?ISO-8859-2?Q?zmia=BFd=BFony_przez_problem=3A_za?==?ISO-8859-2?Q?pytanie_do_hierarchi?=
Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ]
[PGSQL] czy ktos mial problemy z initdb pgsql 8.1 ?
[MySQL] Problem z zapisem danych w bazie danych
Problem z mysql - can't connect to MySQL/nietypowo...
zanotowane.pldoc.pisz.plpdf.pisz.plmorebeer.opx.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 |
|