У меня table_1
с уникальными записями идентификаторов и нескольких столбцов данныхОбъединение нескольких столбцов в table1 с несколькими столбцами в table2 с дополнительным условием MySql
и
table_2
с несколькими рядами относительно конкретного идентификатора и несколько столбцов. Один из столбцов в table2
, скажем, time_lapse.
Мне нужны эти две таблицы, объединенные со всеми сохраненными столбцами, но только с теми строками от table2
с наивысшим значением time_lapse.
Я пытался таким образом ...
create table as new_table
select table1.*, table2.* from
table1 left join table2
on table1.id=table2.id
where time_lapse=
(select max(time_lapse) from table2
group by id);
... но это не удалось.
Любые предложения для новичков? Спасибо.
Добро пожаловать на Stack Overflow. Вы должны знать, что «но это не удалось» не очень описательный способ описать вашу проблему. Выдало ли сообщение об ошибке? Если да, то в чем была ошибка? Не было ли у него ошибок, но не дал результата, которого вы ожидали? Если да, чего вы ожидали и что он сделал вместо этого? Кроме того, каков результат 'SHOW CREATE TABLE' для каждой таблицы? Помогите нам помочь. –
Что такое первичный ключ 'table2'? Отправьте схему, как предложил Билл. –
Поскольку фактический стол был довольно весомым, я решил опубликовать вопрос, основанный на упрощенной замене «манекена». Что касается исходных таблиц, то в таблице 1 есть только один первичный ключ (id), а первичный ключ в таблице2 вообще отсутствует. Я новичок в поле, поэтому извините за мою неуклюжесть. Ответ @Thorsten Kettner оказался безупречным. –