我有一个由两列组成的表格。两列是 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。
亲切的问候:)
最佳答案
使用GROUP_CONCAT
<罢工>罢工>
<罢工>SELECT GROUP_CONCAT(Object_ID) ObjectList
FROM tableName
WHERE term_taxonomy_id = 75
罢工>- <罢工>
罢工>
- <罢工> SQLFiddle Demo 罢工>
更新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
关于mysql - SQL |如何根据记录id和另一列获取所有记录ID? (可能是简单的问题:) ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14769001/