Archívum - Szep 27, 2010 - Fórum téma
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.