Autor | Zpráva | ||
---|---|---|---|
blazej44800 Profil |
#1 · Zasláno: 16. 7. 2013, 12:05:09
Zdravím,
riešim problém s MySQL príkazom. Robil som už aj zložitejšie ale s týmto nejako nemôžem pohnúť: SELECT room.*, msg.id AS last_id FROM chatv2_rooms AS room LEFT JOIN ( SELECT * FROM chatv2_messages ORDER BY id DESC LIMIT 1 ) AS msg ON msg.room_id = room.id Malo by to vypísať všetky "četovacie" miestnosti s ID poslednej správy. Aktuálne tento príkaz vypíše všetky miestnosti ale ku poslednej nevypíše posledné ID správy. Výsledok SQL príkazu: |1|Default h|NULL|799 |10|Next ROOM|NULL|NULL Tabuľka chatv2_rooms |------ |Stĺpec|Typ|Nulový|Predvolené |------ |//**id**//|int(11)|Nie| |name|varchar(255)|Nie| |avatar|varchar(255)|Áno|NULL Tabuľka chatv2_messages |------ |Stĺpec|Typ|Nulový|Predvolené |------ |//**id**//|int(11)|Nie| |from_id|int(11)|Nie| |room_id|int(11)|Nie| |time|datetime|Nie| |text|longtext|Nie| |attachment_id|int(11)|Áno|NULL |session_id|int(11)|Nie| Neviete kde by mohol byť problém? P.S. Áno, v tabuľke chatv2_messages mám správu s room_id = 10 Vďaka za každú radu :) |
||
blazej44800 Profil |
#2 · Zasláno: 16. 7. 2013, 14:35:40
Vyriešené:
SELECT room.*, max(msg.id) AS last_id FROM `chatv2_rooms` AS room LEFT JOIN `chatv2_messages` AS msg ON msg.room_id = room.id GROUP BY msg.room_id |
||
Časová prodleva: 11 let
|
0