Удалите возвращаемые строки из выбранного выбора, используя пользовательскую переменную (AS), в которой условие - PullRequest
0 голосов
/ 05 сентября 2011

У меня есть этот запрос MySQL

select 
  id,
  FROM_UNIXTIME(`placedate`) as placedate_mysqldate  
from 
  orders  HAVING placedate_mysqldate  < '2011-08-01 00:00:00' 

, поэтому запрос возвращает около 1000 записей, и я хочу удалить его в той же инструкции запроса.

Поскольку placedate_mysqldate определяется пользователем ине существует в базе данных. Я не могу использовать обычный оператор удаления, такой как

delete * from orders where placedate_mysql < '2011-08-01 00:00:00'

, поэтому есть идеи, как это сделать?

Ответы [ 2 ]

1 голос
/ 23 сентября 2011

после того, как msarchet дал мне идею, SQL-запрос был

delete from orders where FROM_UNIXTIME(placedate) < '2011-08-01 00:00:00'
0 голосов
/ 05 сентября 2011
Delete * From orders 
  Where id in (select 
    id
  from 
    orders  HAVING FROM_UNIXTIME(`placedate`)  < '2011-08-01 00:00:00')

Удалить местоположение идентификатора в наборе результатов, который вы только что запросили.

...