我有兩個表爲:如何編寫查詢爲MySQL
mysql> select * from survey;
+-----------+-----------+----------+--------+-----------+
| survey_id | client_id | stage_id | by_ref | no_branch |
+-----------+-----------+----------+--------+-----------+
| 2 | 65 | 72 | P | 15 |
| 3 | 67 | 72 | D | 2 |
+-----------+-----------+----------+--------+-----------+
2 rows in set (0.07 sec)
mysql> select * from allcode where code_type="MARKETING_STAGES";
+------------------+---------+------+--------------------+
| code_type | code_id | srno | code_name |
+------------------+---------+------+--------------------+
| MARKETING_STAGES | 72 | 1 | Enquiry |
| MARKETING_STAGES | 73 | 3 | Meeting |
| MARKETING_STAGES | 74 | 4 | Presentation |
| MARKETING_STAGES | 75 | 5 | Review/Follow up |
| MARKETING_STAGES | 76 | 6 | Negotiation |
| MARKETING_STAGES | 77 | 7 | Order |
| MARKETING_STAGES | 78 | 8 | Agreement |
| MARKETING_STAGES | 162 | 9 | Complete |
| MARKETING_STAGES | 163 | 2 | Tender |
+------------------+---------+------+--------------------+
9 rows in set (0.04 sec)
我想更新調查表下一個值將從allcodecode_id
來取的stage_id
。
現在我有client_id
即65從survey
表,並希望更新stage_id
到
什麼我都試過,直到爲
(即 下一頁從allcode表上排序基於srno
code_id)
update survey as s
set s.stage_id=
(select code_id from allcode
where code_id > (select stage_id from (select * from survey where client_id=65)as su)
and code_type="MARKETING_STAGES"
limit 1)
where client_id=65;
我希望它更新到該查詢更新stage_id
的allcode到和(根據srno
)
Allcode表沒有code_type場。您的查詢非常複雜,充滿了不必要的子查詢。 – Shadow
使它簡單我已將它刪除 –
很難說 - 但它會更容易改變它,所以stage_id是srno,所以,而不是這個尷尬的翻譯,你只需在這個表(我認爲)步驟號。 –