2013-02-07 288 views
0

更新数据插入到表从查询产生的I这里查询该表我怎样才能在MYSQL

SELECT 
    a.ESN, 
    b.URL, 
    a.Status, 
    a.GroupID, 
    a.RouteID 
FROM STx a 
    LEFT JOIN Routes b 
    ON a.RouteID = b.RouteID 
WHERE a.GroupID = 39 
    AND a.Status = "Provisioned" 
order by a.ESN; 

现在从结果集的这一点,我想修改URL表格中的路线测试url列中的所有行从第一个查询的结果列。我怎么能在查询中做到这一点?

回答

0
update Routes set url = 'test' 
where id in (
    select b.id 
    from Stx a left join routes b on a.routeid = b.routeid 
    where a.groupid = 39 and a.status = 'Provisioned' 
); 
+0

但b.id只在select语句 – user2041213

+0

内被更新,b。潜入错误的地方。 – Tobb

0

如果我正确理解您的问题,您想要更新URL列以'测试'您从原始查询中获得的所有结果。

UPDATE Routes 
SET URL = 'Test' 
FROM STx AS A 
LEFT JOIN Routes AS B 
ON a.RouteID = b.RouteID 
WHERE a.GroupID = 39 AND a.Status = 'Provisioned' 
+0

更新为在该URL列中为NULL的所有行 – user2041213

+0

您只希望它适用于URL为NULL的行吗?然后在WHERE子句中添加一个额外的检查,如AND b.URL IS NULL – JodyT