我有一个由两列组成的表。这两列是object_id和term_taxonomy_id。让我们说这个表看起来像这样:
object_id | term_taxonomy_id
----------------------------
111 | 75
119 | 42
234 | 34
742 | 75
824 | 99
931 | 34
999 | 75
现在让我们说我知道 object_id 的值,我想要检索具有相同term_taxonomy_id的所有对象ID
例如,假设我有对象ID 742 ,我喜欢来获取 term_taxonomy_id为75 的所有object_id 记录所以我应该有像
这样的东西111,742,999
使用单个SQL查询是否可以实现?
我使用的DBMS是MySQL。
亲切的问候:)
答案 0 :(得分:1)
使用GROUP_CONCAT
<击> 撞击>
<击>SELECT GROUP_CONCAT(Object_ID) ObjectList
FROM tableName
WHERE term_taxonomy_id = 75
击> 更新1
SELECT GROUP_CONCAT(object_id) ObjectList
FROM tableName
WHERE term_taxonomy_id =
(
SELECT term_taxonomy_id
FROM tableName
WHERE object_id = 742
)
或使用JOIN
SELECT GROUP_CONCAT(a.object_id) ObjectList
FROM tableName a
INNER JOIN tableName b
ON a.term_taxonomy_id = b.term_taxonomy_id AND
b.object_id = 742
答案 1 :(得分:1)
使用以下查询:
SELECT DISTINCT t2.object_id FROM table as t1, table as t2
WHERE t1.object_id = XX
AND t2.term_taxonomy_id = t1.term_taxonomy_id