通过连接表2中的信息来更新表1中的列

时间:2016-01-06 18:26:35

标签: mysql sql-server toad

我有一个包含VIN的表格1我想要更新。 表1和表2分别具有相同的OBJ ID和POID。 我只知道表2中的设备ID。

update table.1 set VIN = '5TDKK3DC6BS018229'
from table 2, table 1
where 2.device ID = 'TCAXLcKkt3'
and 2.OBJ = 1.POID;

我的SQL命令没有正确结束。

2 个答案:

答案 0 :(得分:0)

错误消息看起来像您正在使用<p id="newpara">Old Text</p>

如果没有错,这就是你要找的东西

            $.ajax({
                url: "Home/Action1",
                type: "post",
                success:function(results){
                    alert(results+" :: status");
                },
                dataType: "json",
                contentType:"application/json; charset=utf-8",
                data: JSON.stringify({
                    Title: $('#Title').val(),
                    Content: $('#Content').val()
                }),
                complete: function () { alert("Article Saved"); $('#newpara').text("Hello this is new one"); alert('breakpoint'); },
                beforeSend: function (xhr) {
                    xhr.overrideMimeType("text/plain; charset=x-user-defined");
                }


            })
   .done(function (data) {
       if (console && console.log) {
           console.log("Sample of data::", data.slice(0, 100));

       }
             alert("Saved!");

   }
    )
            .fail(function (jqXHR, textStatus) {
                $('#newpara').text("Hello this is after failed");
                alert("Request failed:: " + textStatus);

            });

        }

在Oracle中使用Oracle从另一个表更新表,请尝试以下语法

UPDATE table1 
SET    vin = '5TDKK3DC6BS018229' 
WHERE  EXISTS (SELECT 1 
               FROM   table2 B 
               WHERE  table1.obj = B.poid 
                      AND B."device id" = 'TCAXLcKkt3')

答案 1 :(得分:0)

请确保在查询结尾处删除分号,因为如果某些数据库位于TOAD中,则会抱怨它们。

如果您使用的是SQL Server,则以下查询将起作用。

UPDATE table1
SET VIN = '5TDKK3DC6BS018229'
FROM table1
INNER JOIN table2 ON table1.POID = table2.OBJ
WHERE table2.deviceID = 'TCAXLcKkt3'

如果您想要MySQL的相同查询,请使用下面的查询。

UPDATE table1 a 
       JOIN table2 b 
         ON a.poid = b.obj 
SET    a.vin = '5TDKK3DC6BS018229' 
WHERE  b.deviceid = 'TCAXLcKkt3' 

如果您使用的是Oracle,请使用以下查询。

UPDATE table1 
SET    table1.vin = '5TDKK3DC6BS018229'
 where exists (SELECT table2.obj 
                     FROM   table2 
                     WHERE  table2.obj = table1.poid 
                            AND table2.deviceid = 'TCAXLcKkt3')