![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 11 Dołączył: 18.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
jak ustawić auto_increment aby naliczało 01,02,03,04 a nie 1,2,3,4? |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ustaw sobie typ ZEROFILL.
Nie mniej jednak patrzac na ten i poprzednie posty, to chyba coś napsules w tej swojej apce... Moze warto by to przemyslec? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 11 Dołączył: 18.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
pobieram dane po ip przykładowo
8 - test 8.12 - test 12 8.14 - test 13 80 - test 80 muszę pobierać dane po ip np. ip like '8%' to zabiera mi też test 80 mój warunek: case when parentID = 0 and length(ip) < 2 then concat('0', ip) else ip end like '08%'" 08 jest zmieniane przed dodaniem odpowiednio dla danej. I w tym przypadku pod ip 8.12 i 8.14 wyświetla poprawnie, ale w ip = 8 gdzie powinno pokazać dane 8.12 i 8.14 jest puste bo pobiera 08 mam nadzieje że dobrze wytłumaczyłem nie idzie tego pogodzić ;/ Ten post edytował Randallmaster 29.01.2014, 11:32:31 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Bo to sie robi tak:
ip like '8.%' I dobrze by bylo bys cale IP zapisywal z kropką na koncu czyli nie: 8.12 a 8.12. Wowczas nie ma zadego problemu z pobieraniem danych |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 11 Dołączył: 18.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
no tak ale jak zrobię z kropką to już nie pokaże wartości dla 8.12 bo porównanie będzie z kropką 8.12.
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie rozumiem.... robiac
ip like '8.%' to 8.12. lapie sie w to. W czym problem? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 11 Dołączył: 18.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
to jest w pętli wartości(ip porównywane) same wskakują (IMG:style_emoticons/default/smile.gif)
później jest np ip like '8.12.%' ale dopisałem or ip like '8.12' (z innymi warunkami przed or) i pobiera brakującą wartość (IMG:style_emoticons/default/smile.gif) sprawdzam czy mam ok. rozumiem że przy or aby mi nie wywaliło innych rekordów to muszę zrobić tak (chodzi mi czy muszę dublować act i type bo jak nie zdublowałem to doskoczyły rekordy): act = 'Y' and type = '1' and ip like '8.12.%' or act = 'Y' and type = '1' and ip like '8.12' dobrze? Ten post edytował Randallmaster 29.01.2014, 11:51:16 |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat ale dopisałem or ip like '8.12' (z innymi warunkami przed or) i pobiera brakującą wartość Ale po co??Pisalem ci, ze w bazie masz zapisywac tez kropke na koncu. Czyli w bazie ma byc tak: 8.12. a nie: 8.12 Wowczas jeden like lapie ci wszystko. Dodajac kolejne niepotrzebne OR tylko zamulasz zapytanie. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 11 Dołączył: 18.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
nie rozumiesz co chce osiągnąć (IMG:style_emoticons/default/smile.gif)
8 - 10 zł 8.12 - 5 zł 8.12.13 - 2 zł 8.14 - 5 zł pętla nadaje ip. nadrzędne ip ma liczyć sumę tego co jest pod nim plus jego samego. piersze pytanie: select * from tabela here act = 'Y' and type = '1' and ip like '8.%' or act = 'Y' and type = '1' and ip like '8'; pokaże: 8 - 22 zł drugie pytanie: select * from tabela here act = 'Y' and type = '1' and ip like '8.12.%' or act = 'Y' and type = '1' and ip like '8.12'; pokaże 8.12 = 7 zł gdybym zrobił tyko z kropką: select * from tabela here act = 'Y' and type = '1' and ip like '8.12.%' or act = 'Y'; pokaże mi tylko 2 zł a potrzebuje 7 zł. ciężko jest wytłumaczyć pisząc (IMG:style_emoticons/default/smile.gif) mam nadzieje że zrozumiale. to jest podzapytanie do pętli ponieważ w jednym zapytaniu nie da się tego zrobić. dodam że or nie zamuliło zapytania pętla generuje się szybko (IMG:style_emoticons/default/smile.gif) Ten post edytował Randallmaster 29.01.2014, 12:02:18 |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
ja rozumiem co chcesz zrobic. I tylumacze ci, by zrobic to optymalnie, w bazie swoje IP masz zapisywac z kropką na koncu ip. Wowczas starczy tylko jeden like jak ci podalem i twoje sumy wyjdą tak jak trzeba. Ale ty mnie nie sluchasz z niewiadomych dla mnie przyczyn :/
Dla: 8. - 10 zł 8.12. - 5 zł 8.12.13. - 2 zł 8.14. - 5 zł zapytanie select * from tabela here act = 'Y' and type = '1' and ip like '8.12.%' zwroci ci 7 a nie 2. Przyjmij to wkoncu do wiadomosci :/ Cytat dodam że or nie zamuliło zapytania pętla generuje się szybko Bo masz dwwa rekordy na skrzyz..... przy wiekszej liczbie poczulbys roznice
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 11 Dołączył: 18.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
ale ja nie mam kropek na końcu każdego ip (IMG:style_emoticons/default/smile.gif) a już tabela przygotowana więc nie mam czasu na zmiany... (IMG:style_emoticons/default/sad.gif)
rekordów jest około 2 tys Ten post edytował Randallmaster 29.01.2014, 12:06:41 |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat ale ja nie mam kropek na końcu każdego ip Dlatego ci wlasnie pisalem, bys zrobil.....Nie masz czasu? A na rozwalanie struktury ZEROFILLem to miales czas? Poza tym dodanie kropek do aktualnych wpisow w bazie to zwykly jeden UPDATE |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 11 Dołączył: 18.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
racja dodanie kropek to jeden update (IMG:style_emoticons/default/smile.gif) zastosuje się do tego. Dziękuję za pomoc
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:26 |