所以我的数据库中有两个表Table_1和Table2。
表_1包含三列:名,姓和年龄。
表_2还具有三列:名,姓和年龄。
表之间的唯一区别是表_2中的“年龄”列不包含任何数据。我想做的是将一个搜索/查询放入Table_2的Age列中,它将在Table_1中搜索First Name值,如果在Table_1中找到该名字,则在Table 2的Age列中显示该值。 / p>
Table_1
First Name Last Name Age
John Smith 30
David Smith 30
James Smith 40
Table_2
First Name Last Name Age
John Smith (Will return 30)
David Smith (Will return 30)
James Smith (Will return 40)
通过对列进行计算以某种方式完成吗?
答案 0 :(得分:2)
您可以加入两个表:
SELECT table2.firstname, table2.lastname, table1.age
FROM table2
LEFT JOIN table1 ON table1.firstname = table2.firstname AND
table1.lastname = table2.lastname
答案 1 :(得分:0)
如果您希望该值永久保留在table2中,则可以使用以下查询从表1中对其进行更新:(仅适用于MSSQL)
UPDATE t2
SET t2.age = t1.age
FROM table2 t2
INNER JOIN table1 t1
ON t1.firstname = t2.firstname AND t1.lastname = t2.lastname
答案 2 :(得分:0)
如果您使用mysql数据库,则更新查询应如下所示
UPDATE table2 a
JOIN table1 b ON a.firstname = b.firstname
AND a.lastname = b.lastname
SET a.age = b.age
但是对于postgreSQL来说是
UPDATE table2 a
SET a.age = b.age
FROM table1 b
WHERE a.firstname = b.firstname
AND a.lastname = b.lastname ;