MySQL INSERT SELECT.Порядок вставки по количеству, но на самом деле не вставьте номер счета - PullRequest
0 голосов
/ 01 июня 2011

Извините за нелепый заголовок!

Возможно ли выполнить запрос MySQL INSERT SELECT, где часть «SELECT» включает в себя функцию COUNT () (чтобы воспользоваться предложением HAVING) - это создаетнепропорциональное количество столбцов в части INSERT.

Например:

INSERT INTO my_log (user_id, date_finished) 
SELECT COUNT(id) AS count, user_id, '2011-05-31 00:00:00'
FROM assignments WHERE assignment_type = 10 
GROUP BY user_id
HAVING count >=10 

Я хочу вставить в TABLE my_log дату для пользователей, которые выполнили 10 назначений типа 10. ВВ реальности я немного расширяюсь, поэтому важно использовать COUNT и HAVING, чтобы найти только пользователей, которые выполнили 10 или более заданий.Но моя проблема остается в том, что я пытаюсь вставить 3 столбца в объявленные 2 столбца из-за функции COUNT (), поэтому я ищу способ извлечь выгоду из COUNT, но не вернуть его в моем наборе данных / рассматривается ввставка.

Спасибо за любую помощь:)

1 Ответ

0 голосов
/ 01 июня 2011

Попробуйте с:

INSERT INTO my_log ( user_id, date_finished) 
SELECT user_id, '2011-05-31 00:00:00'
FROM assignments WHERE assignment_type = 10 
GROUP BY user_id
HAVING ( COUNT(id) ) >=10 
...