2017-08-07 162 views
-1

所以目前我正在使用PHP,并且正在编写SQL查询。我基本上试图做的是更新表格,将列设置为'是',其中名称='beta_givebeta'的uid column = value列其中,name ='beta_givebeta'基于另一个表字段的SQL更新查询

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

很难找到你的头,所以我对我写这个的方式表示歉意。

表用户有两列,uid和beta。另一个表有两列,名称和值。我试图设置beta ='是'WHERE uid =值,但是第2列中的值必须与名称= beta_givebeta一起找到

UPDATE: 表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')

+0

提供样本数据和所需的结果。 –

+0

不难理解,但很难在没有看到表格结构的情况下给出确切的答案。请包括两个表的定义。 –

+0

如果有的话也提供一个尝试。在问这里之前,你真的应该尝试一下。 – ChickenFeet

回答

-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';