| | |
| Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Autor | Správa |
---|
Registrovaný: 21.10.08 Prihlásený: 18.12.19 Príspevky: 198 Témy: 74 Bydlisko: Nitra | Napísal KViki: 02.10.2010 16:04 | |
|
Vie mi niekto poradit ako vybrat posledny vlozeny riadok tabulky? ked pri kazdom vlozeni sa vklada aj cas typu DATETIME.
Kód: Field Type Null Default Comments MIME id_order_history int(10) No id_employee int(10) No id_order int(10) No id_order_state int(10) No date_add datetime No Kód: id_order_history id_employee id_order id_order_state date_add 1 0 1 1 2010-10-02 00:05:33 2 0 2 3 2010-10-02 00:37:56 3 0 2 9 2010-10-03 00:37:56
jednoducho jedno ID bude mat viacej zaznamov a ja potrebujem len to jedno posledne.
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 02.10.2010 16:16 | |
|
Čo order by nefunguje?
Skús to lepšie popísať, lebo ťažko povedať, či chceš všetky položky s rovnakým ID ako má posledný záznam, alebo len samotný posledný záznam...
|
|
Registrovaný: 21.10.08 Prihlásený: 18.12.19 Príspevky: 198 Témy: 74 Bydlisko: Nitra | Napísal autor témy KViki: 02.10.2010 16:33 | |
|
Dajme tomu ze chcem len tie udaje kde sa rovna id_order_state = 9
Ale len ak je to nejnovsi datum
cize ak bolo taky id_order ktory mal id_order_state = 9
ale ma uz zapisany aj novsi zapis ze najnovsi zapis mu priradil id_order_state = 10;
tak ten uz nechem vybrat
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 02.10.2010 16:53 | |
|
ak mas 100% istu postupnost "id_order_history" tak Kód: select * from table a where id_order_history = (select max(id_order_history) from table b where b.id_order_state = $kriterium) ak nemas 100% istotu tak Kód: select * from table a where b.id_order_state = $kriterium and date_add = (select max(date_add) from table b where b.id_order_state = $kriterium)
|
|
Registrovaný: 21.10.08 Prihlásený: 18.12.19 Príspevky: 198 Témy: 74 Bydlisko: Nitra | Napísal autor témy KViki: 02.10.2010 18:41 | |
|
toto mi vyberie vzdy len jeden zaznam.
predstavme si ze je 100 objednavok.
niektore uz mali status ktory hladam a niktore ho maju. ten status je $kriterium
a ja teraz potrebujem vybrat vsetky cisla objednavok ktore ten status maju preve teraz., a nie tie co ho mali
// automaticky pridané po 39 minútach 1 hodine od posledného príspevku
vyslo mi zatial nieco taketo, ale to nefugnuje dobre., vyberie mi vzdy len jeden riadok. najblizsii status s cislom 9 od id_order_history..
Kód: SELECT id_order, id_order_history, id_order_state ,date_add FROM xxx_order_history a WHERE a.id_order_state like '9' HAVING max(id_order_history) =========================== v tabulke mam 5 stlpcov Kód: id_order_history id_employee id_order id_order_state date_add Taketo udaje Kód: 1 0 1 1 2010-10-02 00:05:33 2 0 2 3 2010-10-02 00:37:56 3 0 2 9 2010-10-02 00:37:56 4 1 2 11 2010-10-02 16:33:58 5 1 2 4 2010-10-02 16:34:01 6 1 2 9 2010-10-02 16:34:05 7 1 2 9 2010-10-02 16:34:07 8 0 3 3 2010-10-02 16:43:53 9 0 3 9 2010-10-02 16:43:54 10 1 2 4 2010-10-02 16:45:01 11 1 3 4 2010-10-02 16:45:07 12 1 1 9 2010-10-02 17:04:42 13 1 2 9 2010-10-02 17:04:52 14 1 2 6 2010-10-02 17:33:56 15 1 2 9 2010-10-02 17:34:04 16 1 2 10 2010-10-02 17:35:13 17 1 1 11 2010-10-02 17:35:18 18 1 2 9 2010-10-02 18:21:39 19 1 2 1 2010-10-02 18:36:15 20 1 1 9 2010-10-02 18:37:05
A potrebujem taky select ktory mi s tejto tabulky bude vytahovat tie id_order ktore budu mat id_order_state == '9'
ale iba pokial maju najnovsi datum aktualizacie resp. pokial maju navysie id_order_history svojej objednavky id_order
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 02.10.2010 21:06 | |
|
tak potom Kód: select * from table a where id_order_history in (select max(id_order_history) from table b where b.id_order_state = $kriterium group by id_order)
|
|
Registrovaný: 21.10.08 Prihlásený: 18.12.19 Príspevky: 198 Témy: 74 Bydlisko: Nitra | Napísal autor témy KViki: 02.10.2010 22:23 | |
|
nie stale to nieje dobre,. pretoze mi vypise vsetky objednavky kde sa nachadzal predtim status 9. a vypise ich posledny nalez.
ale s tohto stavu tabulky co som sme dal by mal vypisat len jeden ten posledny id_order_history:20, id_order:1 id_order_state:9, date_add:2010-10-02 18:37:05
Poradili mi tento zapis, lenze v nom vypisuje chybu
Kód: SELECT a.id_order FROM xxx_order_history a WHERE a.id_order_state = 9 AND id_order_history = max(SELECT b.id_order_history FROM xxx_order_history b WHERE b.id_order = a.id_order)
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 02.10.2010 23:52 | |
|
Jedna vec mi z toho nieje jasná:
Chceš najnovšie položky s rovnakým id_order a to pre všetky id_order-y ktoré majú daný status(tj. pre každý jeden druh id_order), alebo najnovšie z celej tabuľky(to jest iba jeden druh id_order)??
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 03.10.2010 0:03 | |
|
si horsi ako moja manzelka, ani ta nevie co vlastne chce najprv sa stazujes ze ti moj select vrati iba jeden zaznam a potom tu pises ze to ma vratit iba jeden zaznam
|
|
Registrovaný: 21.10.08 Prihlásený: 18.12.19 Príspevky: 198 Témy: 74 Bydlisko: Nitra | Napísal autor témy KViki: 03.10.2010 0:04 | |
|
Chcem kazde id_order ktore maju aktualne status id_order_state == 9 s najvisim id_order_history alebo najnovsim datumom.
Nechcem tie id_order ktore maju iny status id_order_state s novsim datumom alebo poradovim cislom id_order_history.
to znamena ze ak mam v db 4 objednavky
ktore maju uz nejake statusi, a aktualne ma iba objednavka cislo 4 nastavensy status 9(ten ktory hladam) tak mi ten select ma vyplut len tu jednu polozku.
je to ako kebyma objednavka status ze 'priprava prebieha'
a nasledne jej dam status 'dorucene-ukoncene'
aby ked dam hladat objednavky v stave 'priprava prebieha'
nenaslo uz dorucene obejdnavky
|
|
Registrovaný: 03.10.10 Prihlásený: 01.12.10 Príspevky: 4 Témy: 0 Bydlisko: BA | Napísal noufko: 03.10.2010 2:06 | |
|
v pripade ze jediny mozny nasledujuci status po stave 9 je stav 10 tak to riesim takymto nepeknym selectom:
Kód: select * from test_a where id_order in ( select id_order from test_a where id_order_state = 9 minus select id_order from test_a where id_order_state = 10 )and id_order_state = 9 Osobne keby som riesil nejaky takyto system tak asi spravim dve tabulky: v jednej by mala kazda objednavka iba jeden riadok a to aktualny stav, ak by sa tento status menil tak by sa riadok presunul do tabulky historia a v prvej tabulke by bol novy zaznam(updatnuty stary). Id_order_history mi pride ako nadbytocny kedze order objednavky by mal urcovat datum, teda ak sa cez tento column neprepajas na inu tabulku. Ako sa tak nad tym zamyslam tak som ti asi moc nepomohol kedze je dost mozne ze status objednavky sa moze zmenit lubovolne, ale uz ma nic nenapada. Update: Tak nakoniec sa to da spravit krajsim selectom len jemna uprava toho co uz coldak sem dal: Kód: select * from test_a where id_order_history in ( select max(id_order_history) from test_a group by id_order ) and id_order_state = 9
a tym padom odvolam ze ten id_order_history je nadbytocny (aj ked ako unikatny identifikator riadku by som dal datum a id_order, nejaky som nerozhodny dobru noc )
|
|
Registrovaný: 21.10.08 Prihlásený: 18.12.19 Príspevky: 198 Témy: 74 Bydlisko: Nitra | Napísal autor témy KViki: 03.10.2010 11:06 | |
|
nádhera. vyskusal som to a funguje to zatial velmi ti dik.
som si s tim trapil hlavicku, a asi viac ludi co mi chceli pomoct.
fakt dik
Funkcny dotaz:
Kód: select * from test_a where id_order_history in ( select max(id_order_history) from test_a group by id_order ) and id_order_state = 9
|
|
| Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| typ DateTime / Timestamp v Databázy | 4 | 734 | 27.10.2007 18:20 tatysp | | datetime column a triedenie, MySql v Databázy | 5 | 370 | 25.04.2013 12:52 baumax | | formular: presun <option> zo <select> do <select> v JavaScript, VBScript, Ajax | 2 | 752 | 28.09.2009 15:27 tomast7 | | select v Databázy | 8 | 503 | 16.03.2012 14:09 zdeniatqo | | SELECT v Databázy | 6 | 1402 | 31.08.2006 13:50 tRizzO | | Select v HTML, XHTML, XML, CSS | 3 | 410 | 13.09.2012 21:49 1daemon1 | | select v PHP, ASP | 7 | 640 | 02.05.2008 13:53 mondzo | | Prepojeny select v Databázy | 2 | 590 | 18.05.2009 18:05 p360t | | Multi select v Databázy | 1 | 294 | 30.05.2013 11:12 stenley | | Select option v HTML, XHTML, XML, CSS | 5 | 579 | 06.06.2017 10:12 hatto13 | | Select script v JavaScript, VBScript, Ajax | 14 | 625 | 06.08.2012 23:51 Vojko | | zly select v Databázy | 2 | 626 | 07.07.2012 19:59 Ďuri | | select nefunkcny v Databázy | 5 | 562 | 07.06.2010 14:08 MisakNo10 | | Komplikovany select v Databázy | 2 | 516 | 23.03.2012 16:52 general667 | | Stromový select v PHP, ASP | 5 | 411 | 07.05.2009 19:08 Tominator | | SELECT OPTION v HTML, XHTML, XML, CSS | 3 | 551 | 06.03.2009 14:34 Ďuri |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|