簡體   English   中英

使用多個表中的計算創建SQL視圖

[英]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 JoinGroup 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM