Итак, еще раз сорри, попытка №2 
| Код | -- -- Структура таблицы `w_data` --
CREATE TABLE IF NOT EXISTS `w_data` ( `user_id` int(10) unsigned NOT NULL, `some_id` int(10) unsigned NOT NULL, `record_id` int(10) unsigned NOT NULL, `data` varchar(32) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
-- -- Дамп данных таблицы `w_data` --
INSERT INTO `w_data` (`user_id`, `some_id`, `record_id`, `data`) VALUES (1, 1, 1, 'aaa'), (1, 1, 2, 'bbb'), (1, 1, 3, 'ccc'), (1, 2, 1, 'qwerty'), (1, 3, 1, 'abc'), (2, 4, 1, 'qazxsw');
-- -- Структура таблицы `w_sort` --
CREATE TABLE IF NOT EXISTS `w_sort` ( `user_id` int(10) unsigned NOT NULL, `some_id` int(10) unsigned NOT NULL, `record_id` int(10) unsigned NOT NULL, `sort` int(10) unsigned NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
-- -- Дамп данных таблицы `w_sort` --
INSERT INTO `w_sort` (`user_id`, `some_id`, `record_id`, `sort`) VALUES (1, 1, 1, 2), (1, 1, 2, 1), (1, 1, 3, 3), (1, 2, 1, 777), (1, 3, 1, 888), (2, 4, 1, 999); |
Задача: выбрать из w_data данные для указанных user_id и some_id, с сортировкой по w_sort.sort делаю так:
| Код | SELECT * FROM w_data AS d INNER JOIN w_sort AS s ON s.some_id=d.some_id WHERE d.user_id = 1 AND d.some_id = 1 GROUP BY d.record_id ORDER BY s.sort ASC |
Получаю:
| Код | user_id some_id record_id data user_id some_id record_id sort 1 1 1 aaa 1 1 1 2 1 1 2 bbb 1 1 1 2 1 1 3 ccc 1 1 1 2 |
Вместо ожидаемых:
| Код | user_id some_id record_id data user_id some_id record_id sort 1 1 2 bbb 1 1 1 1 1 1 1 aaa 1 1 1 2 1 1 3 ccc 1 1 1 3 |
Где я туплю уже второй час??? |