我有一个包含多个列的数据库。
我正在开发自己的过滤器,因此用户可以搜索数据库。我想要做的是从数据库中的每一列获取不同的条目。
DISTINCT
适用于一列。所以sql语法是SELECT DISTINCT COLUMN FROM TABLE1
我正在做的事情是SELECT DISTINCT COLUMN FROM TABLE1
,
比另一个读物是SELECT DISTINCT COLUMN1 FROM TABLE1
比另一个读数是SELECT DISTINCT COLUMN2 FROM TABLE1
等
我只是想知道是否有更好的方法。或者我可以将它们组合成相同的语法
系统的设计是页面加载,它从数据库加载所有行并填充表列表。同时,它从每列获取所有不同的条目。这些数据以下拉列表显示,因此无法对数据进行编辑以查看数据。
感谢
答案 0 :(得分:1)
当然,您可以在一个查询中完成所有操作:
SELECT DISTINCT MyColumn FROM MyTable
UNION
SELECT DISTINCT MyColumn2 FROM MyTable
UNION
SELECT DISTINCT MyColumn3 FROM MyTable
(etc.)
如果在多列中出现值时需要重复值,请使用UNION ALL
。
答案 1 :(得分:0)
你当然可以在多列上使用distinct,但它可能不是你想要的。
select distinct col1,col2 from MyTable
MyTable的位置:
|col1|col2|col3|
----------------
| a| b| c|
| a| b| d|
| a| c| c|
| b| c| f|
这将返回结果:
|col1|col2|
-----------
| a| b|
| a| c|
| b| c|
修改:由于您要填充下拉列表,因此您可能希望一次选择一列。