1

我有 2 个表 table1 和 table2:

  • table1 包含一个以id1212(示例)命名的字段。
  • table2 有一个以action数据命名的字段,例如added 1212or updated 1212

现在检查这个查询。

SELECT t1.*, t2.name
FROM table1 t1, table2 t2
WHERE t2.action LIKE 'added t1.id'

我想将name第二个表中的字段添加到仅包含addedupdated不需要)数据的第一个表中。这个条件的 where 子句是什么?我该如何查询这个?

4

2 回答 2

2

我是这样做的。

SELECT t1.*, t2.name
FROM table1 t1, table2 t2
WHERE t1.id = (RIGHT(t2.action, 4)) AND t2.action LIKE 'added %'

感谢所有试图帮助我的人。

于 2012-07-07T08:32:42.567 回答
1

最好将action列分为两列,一列用于操作类型,一列用于操作目标。然后你可以加入这两个表。

SELECT t1.*, t2.name
FROM table1 t1
INNER JOIN table2 t2 ON t1.id = t2.action_target
WHERE t2.action_type = 'added'
于 2012-07-07T07:55:25.227 回答