我想在同一个表中获取两列数据,并从有序列表中返回两者中的唯一记录。我试过这个:
SELECT DISTINCT column1,column2 FROM table ORDER BY column1 ASC
然而,这显然会返回两列,column2具有重复项,并按列1排序。
我希望收到类似
的内容Abcde [column1]
Beefr [column2]
Ceeed [column1]
Desss [column1]
...etc
这可能吗?如果这有帮助,我也在使用PHP?
答案 0 :(得分:3)
你需要做一个工会
从表中选择distinct column1 v 联盟 从表中选择distinct column2 v 按v
排序答案 1 :(得分:0)
你可以使用这样的东西(语法取决于数据库引擎):
SELECT DISCTINCT column
FROM
(
SELECT column1 as column FROM table
UNION
SELECT column2 as column FROM table
)
ORDER BY column ASC
请参阅dbms手册以检查UNION子句的语法
答案 2 :(得分:0)
tbl1 COL1 | tbl2 COL2 | NEWCOL(结论是我们)
a ------------- a ------------- a
b ------------- b ------------- b
c ------------- d ------------- c
e ------------- f ------------- d
------------- ------------- e
------------- ------------- f
Auto DISTINCT,这项工作。
$Sql="SELECT COL1 AS NEWCOL FROM tbl1 UNION SELECT COL2 FROM tbl2 ORDER BY NEWCOL ASC";
$q=mysql_query($Sql) or die(mysql_error());
while($rs=mysql_fetch_array($q)){
echo $rs['NEWCOL'].'<br/>';
}