如何链接两个不同的表并更新第二个表?

时间:2011-03-12 01:42:37

标签: mysql sql

我有两张桌子,A和B.

Table A  .Birthday  .Name    .LastName
Table B  .Date      .Salary  .Rent

我需要编写一个查询,为所有出生的人(生日=)05/05/1977增加10%的工资。

我不知道如何链接这两个表并使其更新表B.

3 个答案:

答案 0 :(得分:1)

由于它们没有公共列,因此无法加入这些表。

答案 1 :(得分:1)

如前所述,尊敬的其他用户,需要 Table A中的PK和Table B中的FK,否则无法加入。但要实际更新更好的SQL查询将是:

Update b set b.Salary = b.Salary*1.1
From TableB b Inner Join TableA a On b.Id = a.Id
Where a.Birthday = '05/05/1977'

答案 2 :(得分:0)

亲爱的,首先你要把这两张桌子联系起来。在A表中创建a_id字段,并将该字段用作A表中的主键。然后还在B表中创建一个字段a_id作为外键。之后,您将能够编写查询

$q="select a_id from A where birthday='05/05/1977'";
$rs= mysql_query($q);
if($rs && mysql_num_rows($rs))
{
 whlile($rd=mysql_fetch_object($rs))
 {
  $q1="update B set salary=(salary*1.1) where aid=$rd->aid";
  $rs=mysql_query($q1);
 }
}