2017-02-23 25 views
1
SELECT @mynumber := number 
FROM tqueue 
WHERE STATUS = '4' 
AND get_ticket >= CURDATE() 
AND get_ticket < DATE_ADD(CURDATE() , INTERVAL 1 
DAY) 
GROUP BY services 
ORDER BY nomor ASC; 

UPDATE tqueue SET STATUS = '8' WHERE number = @mynumber ; 

Мой вопрос в том, могу ли я присоединиться к этому запросу для внутреннего обновления? Потому что у меня возникла проблема с использованием multiquery в php?Я хочу присоединиться к двум запросам из mysql, обновить по выбору?

это обновление запроса состояния колонки смотреть на моем столе

------------------------------------------ 
    number | status  | get_ticket 
------------------------------------------ 
    4    4   17:58:00 
    3    4   16:00:00 
    2    4   13:05:13 
    1    8   12:05:34 

с помощью этого запроса я могу изменить минимальное количество, будет меняться от 4 до 8 состояния, когда я обновить снова мин номер со статусом 4 номером 2 изменится на 8, обновится снова номер 3 до 8 и продолжит это, или если у вас есть PHP-код, вы можете дать мне пример кода с php-формой, мой вариант, обновить с помощью выбора

+1

Да, вы можете присоединиться к выбору запроса внутри запроса на обновление –

+0

Показать использование PHP/mysqli. – chris85

ответ

0

Использовать первый запрос как subquery для where состояние.

UPDATE tqueue SET STATUS = '8' WHERE number =(SELECT number 
FROM tqueue 
WHERE STATUS = '4' 
AND get_ticket >= CURDATE() 
AND get_ticket < DATE_ADD(CURDATE() , INTERVAL 1 
DAY) 
GROUP BY services 
ORDER BY nomor ASC); 
+0

# 1093 - Вы не можете указать «tqueue» целевой таблицы для обновления в предложении FROM – Heri