Archívum - Szep 27, 2010
MySQL - 1db SELECT, 2 feltétel
Elnézést, ha valahol már tárgyaltátok, nem találtam rá megoldást a fórumban.
A probléma:
Adva van egy tábla tagokkal.
Tárolom az állapotát (üres-aktív, T-törölt), regisztráció idejét, illetve a lejárat időpontját.
| id | _____reg_datum_____ | _____lejar_datum____| allapot |
| 01 | 2010-01-01 10:00:00 | 2010-01-20 00:00:00 | _______ |
| 02 | 2010-01-01 11:00:00 | 2010-01-10 00:00:00 | _______ |
| 03 | 2010-01-05 08:00:00 | 2010-02-21 00:00:00 | _______ |
| 04 | 2010-01-06 10:00:00 | 2010-01-20 00:00:00 | _______ |
| 05 | 2010-01-06 10:00:00 | 2010-01-27 00:00:00 | ___T___ |
| 06 | 2010-01-07 10:00:00 | 2010-01-12 00:00:00 | _______ |
| 07 | 2010-01-07 10:00:00 | 2010-01-11 00:00:00 | _______ |
Listázáskor a SELECT-et úgy kellene megírnom,
hogy először listázza a még aktív tagokat (vagyis azokat akiknek a lejárat ideje még nagyobb a mostani időpontnál) regisztráció időpontja szerint fordítottan, de regisztráció szerint fordítottan (előre az újabbakat),
majd ugyanígy adja vissza a már nem aktívakat regisztráció szerint fordítottan.
A törölt tag természetesen kimarad a listából.
Ezt kéne megkapnom, ha a dátum 2010-01-18 00:00:00
| id | _____reg_datum_____ | _____lejar_datum____| allapot |
| 04 | 2010-01-06 10:00:00 | 2010-01-20 00:00:00 | _______ |
| 03 | 2010-01-05 08:00:00 | 2010-02-21 00:00:00 | _______ |
| 01 | 2010-01-01 10:00:00 | 2010-01-20 00:00:00 | _______ |
| 07 | 2010-01-07 10:00:00 | 2010-01-11 00:00:00 | _______ |
| 06 | 2010-01-07 10:00:00 | 2010-01-12 00:00:00 | _______ |
| 02 | 2010-01-01 11:00:00 | 2010-01-10 00:00:00 | _______ |
Sajnos a feladathoz a MySQL tudásom kevésnek bizonyult.
■ A probléma:
Adva van egy tábla tagokkal.
Tárolom az állapotát (üres-aktív, T-törölt), regisztráció idejét, illetve a lejárat időpontját.
| id | _____reg_datum_____ | _____lejar_datum____| allapot |
| 01 | 2010-01-01 10:00:00 | 2010-01-20 00:00:00 | _______ |
| 02 | 2010-01-01 11:00:00 | 2010-01-10 00:00:00 | _______ |
| 03 | 2010-01-05 08:00:00 | 2010-02-21 00:00:00 | _______ |
| 04 | 2010-01-06 10:00:00 | 2010-01-20 00:00:00 | _______ |
| 05 | 2010-01-06 10:00:00 | 2010-01-27 00:00:00 | ___T___ |
| 06 | 2010-01-07 10:00:00 | 2010-01-12 00:00:00 | _______ |
| 07 | 2010-01-07 10:00:00 | 2010-01-11 00:00:00 | _______ |
Listázáskor a SELECT-et úgy kellene megírnom,
hogy először listázza a még aktív tagokat (vagyis azokat akiknek a lejárat ideje még nagyobb a mostani időpontnál) regisztráció időpontja szerint fordítottan, de regisztráció szerint fordítottan (előre az újabbakat),
majd ugyanígy adja vissza a már nem aktívakat regisztráció szerint fordítottan.
A törölt tag természetesen kimarad a listából.
Ezt kéne megkapnom, ha a dátum 2010-01-18 00:00:00
| id | _____reg_datum_____ | _____lejar_datum____| allapot |
| 04 | 2010-01-06 10:00:00 | 2010-01-20 00:00:00 | _______ |
| 03 | 2010-01-05 08:00:00 | 2010-02-21 00:00:00 | _______ |
| 01 | 2010-01-01 10:00:00 | 2010-01-20 00:00:00 | _______ |
| 07 | 2010-01-07 10:00:00 | 2010-01-11 00:00:00 | _______ |
| 06 | 2010-01-07 10:00:00 | 2010-01-12 00:00:00 | _______ |
| 02 | 2010-01-01 11:00:00 | 2010-01-10 00:00:00 | _______ |
Sajnos a feladathoz a MySQL tudásom kevésnek bizonyult.
Online Schema Change for MySQL
Segédprogram MySQL séma átalakításához futás közben
■ Soha ne használd a for…in-t tömbök bejárására!
Rejtélyesen viselkedik az éppen megírt JavaScript programom, és nem találom az okát. Látszólag mindent jól csináltam, és mégsem megy! Egyszer csak leesik… hogy erre nem gondoltam… de úgy látom, más sem, ezért leírom, mindannyiunk okulására.