簡體   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