我想为所有具有相同标题的产品投射 pid 索引,因为我使用以下作为子查询。
产品( pid ,标题)
SELECT p.title
FROM product p
group by title
HAVING ( COUNT(p.title) > 1 )
这会输出重复的标题,但我如何投影 pid 呢?
答案 0 :(得分:5)
SELECT p.pid, p.title
FROM product p
INNER JOIN
(SELECT p.title
FROM product p
GROUP BY title
HAVING (COUNT(p.title) > 1)) t ON t.title = p.title
这是一个使用sqlfiddle的例子:
答案 1 :(得分:1)
我认为在这种情况下,自我加入是最简单的答案。请注意我们如何测试不同的PID但标题相同:
SELECT p1.pid FROM products p1 JOIN products p2
ON p1.pid <> p2.pid AND p1.title = p2.title;
(我在这里测试过:http://sqlfiddle.com/#!2/c8b8d/18)