我正在尝试在SQL连接的某个列中获取唯一值的列表。
我的加入如下:
select P.column1, A.column2 from Table1 P
inner join Table2 A
on P.column1=A.column1
我想获得第1列的不同值列表。我试过
Select distinct A.column1 from (select P.column1, A.column2 from Table1 P
inner join Table2 A
on P.column1=A.column1)
但SQL并不喜欢这样。
答案 0 :(得分:2)
如果您不需要,请不要选择第2列?
select distinct P.column1
from Table1 P
inner join Table2 A
on P.column1=A.column1
或者如果由于某些未知原因您确实需要子查询,则需要对其进行别名。
Select distinct s.column1 from (select P.column1, A.column2 from Table1 P
inner join Table2 A
on P.column1=A.column1) s
答案 1 :(得分:0)
我建议使用CTE代替子查询吗?
您可以按如下方式重新编写查询:
WITH CTE
AS
(
SELECT P.column1,
A.column2
FROM Table1 P
INNER JOIN Table2 A
ON P.column1=A.column1
)
SELECT DISTINCT Column1,
Column2
FROM CTE
您可以根据自己的要求从CTE中选择任意数量的列。