2015-03-08 83 views
-3

我需要的東西,如:SQL我怎樣才能把一個選擇到平均

選擇AVG(選擇不同的...) 從...

,但它不工作

來自備註:

select avg(select distinct x.money 
      from departmentx x inner join 
       departmenty y 
       on x.identity = y.identity 
      union 
      select distinct y.money 
      from departmentx x inner join 
       departmenty y 
       on x.identity = y.identity 
      where money not null 
     ) 
from department 
+2

你是什麼意思'不起作用'?請詳細說明並提供您的**完整代碼**。另外,絕對'SQL'正確,***不***'MySQL'? – cybermonkey 2015-03-08 22:09:45

+0

標記爲「太寬」。 – cybermonkey 2015-03-08 22:17:30

+0

sql..and其 選擇 AVG( 從departmentx選擇不同x.money X 內加入departmentyý 上x.identity = y.identity 工會 從departmentx X 內選擇不同y.money 加入departmenty y on x.identity = y.identity where money not null ) from department – AmlesLausiv 2015-03-08 22:20:37

回答

1

以下可以是你寫的代碼的意圖:

select avg(money) 
from (select distinct x.money 
     from departmentx x inner join 
      departmenty y 
      on x.identity = y.identity 
     union 
     select distinct y.money 
     from departmentx x inner join 
      departmenty y 
      on x.identity = y.identity 
     where money is not null 
    ) m 

我已經離開了 「weirdisms」:

  • 你並不需要在子查詢distinctunion照顧到這一點。
  • 你不需要money is not nullavg()忽略NULL
  • 您可能不應該命名列money,因爲這是內置類型的名稱。
相關問題