繁体   English   中英

如何从SQL的多个列中选择不同的值?

[英]How do i select distinct values from multiple columns in SQL?

我知道有人问过这个问题,但是我没有找到解决我特定问题的可行答案。

我有一个带有4列(名字,姓氏,帐号和组织)的表(在MySQL中)。 在我的程序中,我想创建4个下拉列表(组合框)(每列一个)。 组合框包含该列的唯一值。 现在,我通过使用4个单独的SQL查询并填充每个组合框来完成此操作。 我试图通过执行单个查询来获取所有值,然后在获得结果后将它们分成组合框,来查看是否有更快的方法。 但是我无法弄清楚如何用单个查询来完成它,我已经尝试了书中的每个联接并使用派生表以及我能想到的所有方法,但没有任何效果。

基本上我的名字组合框需要包含表中所有不同的名字,第二个组合框包含所有不同的姓氏,第3个不同的acct。 数字和第4个不同的组织,在任何组合框中都没有重复项。

这有可能吗? 谢谢。

这是我目前正在做的:

Select distinct firstname from t1 order by firstname;
' populate my combo box

Select  distinct lastname from t1 order by lastname;
; populate my combo box

etc...

您在这里所做的基本上是最佳策略。 这就是SQL的工作方式。

考虑一下如果您试图同时列出所有firstnamelastname条目的输出结果。 对于6个不同的姓氏和8个不同的姓氏,您将获得多少行? 6? 8? 48?

如果这太慢,那么您需要做的是正确INDEX列,以使DISTINCT操作本身更快。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM