任何人都可以幫助我理解爲什麼在嘗試運行此查詢時遇到語法錯誤?SQL語法錯誤 - 在連接兩個表時更新
UPDATE exp_store_orders
SET exp_store_orders.order_status_name = "Digital"
JOIN exp_store_order_items
ON exp_store_orders.id = exp_store_order_items.order_id
JOIN exp_channel_data
ON exp_store_order_items.entry_id = exp_channel_data.entry_id
GROUP BY exp_store_order_items.order_id
HAVING COUNT(CASE exp_channel_data.field_id_50 WHEN '' THEN null ELSE 1 END) = COUNT(exp_store_order_items.order_id)
這會調出我想要更新的訂單的ID,但由於某種原因上述情況會導致語法錯誤。
SELECT exp_store_orders.id
FROM exp_store_orders
JOIN exp_store_order_items
ON exp_store_orders.id = exp_store_order_items.order_id
JOIN exp_channel_data
ON exp_store_order_items.entry_id = exp_channel_data.entry_id
GROUP BY exp_store_order_items.order_id
HAVING COUNT(CASE exp_channel_data.field_id_50 WHEN '' THEN null ELSE 1 END) = COUNT(exp_store_order_items.order_id)
任何幫助表示讚賞,謝謝!
你會得到什麼錯誤? –
#1064 - 您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在第3行的JOIN exp_store_order_items ON exp_store_orders.id = exp_store_order_items.ord附近使用正確的語法 –
是否有field_id_49?另外,由*你計算的東西組成的團隊有點奇怪!?!?!如果是我,我會重新開始一些適當的DDL和期望的結果。 – Strawberry