将数据插入到JOIN SELECT QUERY产生的表中?

时间:2013-02-08 21:18:21

标签: mysql sql

如何将数据插入到由JOIN SELECT查询

生成的表中

我想从下面的查询结果中插入b.URL中的值=“ok”

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 = "Tested"
order by a.ESN;

3 个答案:

答案 0 :(得分:1)

我想也许这就是你需要的:

UPDATE Routes b 
SET URL = 'ok' 
WHERE EXISTS 
    (SELECT * FROM STx a 
     WHERE a.GroupID = 39 
       AND a.Status = 'Tested' 
       AND a.RouteID = b.RouteID)

这会将所需的网址值设置为“确定”。

答案 1 :(得分:0)

您只需在其前面添加INSERT INTO table (columns)。如果您要在b.URL中找到SELECT值,请添加过滤器。

答案 2 :(得分:0)

insert into desire_table (col1,col2,col3,...) 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 = "Tested"
order by a.ESN;

请记住,为了能够坐在新表中,输出列必须匹配,命令mather意味着您的第一个选定列转到col1,第二个转到col2,因此您必须匹配col1,col2 ,等等你的选择输出