解决方案如下:
假设有两个表A和B,A表中有一个外键指向B表的id,需要按照外键过滤后去除重复项。假设A表中的外键字段名为b_id。
SELECT *
FROM A
WHERE b_id IN (
SELECT id
FROM B
)
SELECT DISTINCT *
FROM (
SELECT *
FROM A
WHERE b_id IN (
SELECT id
FROM B
)
) AS filteredA
这样就可以按照外键过滤后去除重复项了。