-1

我试图让我的子查询的 WHERE 部分在下面工作。我可以看到 'where event_id=..' 是模棱两可的,因为父查询正在查看同一个表。

甚至有可能在同一个表子查询中有一个 WHERE 吗?

UPDATE tickets SET tickets.ticket_number = ( 
    SELECT max_ticket 
    FROM ( 
        SELECT (MAX(ticket_number)+1) AS max_ticket 
        FROM tickets 
        WHERE event_id=10045
    )
    AS sub_table
) 
WHERE ticket_id=68

任何帮助都非常感谢。

4

1 回答 1

3

可能尝试将其作为连接

UPDATE tickets a
INNER JOIN 
( 
    SELECT (MAX(ticket_number)+1) AS max_ticket 
    FROM tickets 
    WHERE event_id = 10045
) b
SET a.ticket_number = b.max_ticket
WHERE a.ticket_id = 68
于 2013-07-08T16:31:55.290 回答