2017-02-23 1 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 ; 

私の質問は、この更新プログラムの中で選択することができますか?私はPHPでマルチクエリを使用することに問題があったので?私はmysqlから2つのクエリに参加したい、selectで更新する?

私は状態4ナンバー2で再び分の数を更新するとき、私は最小数を変更することができ、そのクエリを使用して、私のテーブル

------------------------------------------ 
    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つの状態に変わります8に変更され、再び番号3から8のステータスに更新され、そのように続行されます、またはPHPコードを持っている場合、私の場合PHPのサンプルコードを私の場合、選択から更新

+1

はい更新クエリ内の選択クエリに参加できます –

+0

PHP/mysqliの使用法を表示します。 – chris85

答えて

0

subquerywhereの状態。

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 - FROM句の更新にターゲットテーブル 'tqueue'を指定することはできません – Heri

関連する問題