基于另一个表的字段

时间:2017-08-07 02:31:01

标签: php mysql sql

所以目前我正在使用PHP而我正在编写一个SQL查询。我基本上要做的是更新一个表,将列设置为'yes',其中uid column = value列在另一个表中,其中name ='beta_givebeta'

很难理解。基本上是根据另一个表的字段值更新字段,但是为了找到另一个表的字段值,需要在该另一个表中使用WHERE语句,以便选择正确的值。

很难理解,所以我为我写这篇文章的方式道歉。

表用户有两列,uid和beta。另一个表有两列,名称和值。我正在尝试设置beta ='yes'WHERE uid = value,但必须找到第2列的值,其名称为= beta_givebeta

更新: 表1(t1_users)=有两列是uid和beta表2(t2_settings)=有两列是名称和值

尝试更新具有特定uid的beta字段,但某个uid基于表2中与名称列匹配的某个行的值字段

作为更新,这是我尝试的查询:UPDATE t1_users SET beta ='yes'WHERE uid =(value = SELECT value FROM t2_settings WHERE name ='beta_givebeta')

1 个答案:

答案 0 :(得分:-1)

在MySQL中,您可以将joinupdate一起使用。这就是我解释你的问题的方法:

update t1_users u join
       t2_settings s
       on u.uid = s.value and s.name = 'beta_givebeta'
    set t1.beta = 'yes';