![](/img/trans.png)
[英]Multiple Calculations in SQL SELECT Query from Multiple Tables using Where?
[英]Creating an SQL View With Calculations From Multiple Tables
因此,我有兩個表需要我提供信息。 我有一個ballot_table(vote CHAR(30),用戶名CHAR(30)),上面有每個用戶名投票的候選人的名字。 我還有一張桌子,上面列出了候選人名單。 我需要以某種方式返回候選列表,並在相同的查詢中以相同的次數返回名稱出現在ballot_table中的名稱。 謝謝!
這是一個可怕的設計,但是您可以按照以下方法進行操作:
select count(*) as votes, vote as [candidate]
from ballot_table
where ucase(vote) in (select ucase(item) from table_with_list_of_candidates)
group by ucase(vote)
更好的設計是使候選表的列表包含一個鍵,然后將該鍵包含在ballot_table中,並使用varchar進行寫入(如果需要)。
您可以使用Outer Join
和Group By
Outer Join
來執行此操作。 我假設candidate
表中的字段名稱為Name
。
Select c.Name, Count(Distinct b.UserName) Votes
From ballot_table b
Right Join candidate c On c.Name = b.Vote
Group By c.Name
這只會返回Candidate
表中候選人的總票數。 任何其他“寫入”投票都將不包括在內。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.