2014-06-06 8 views
0
table1 
no | date | 
J001 | 06 June | 

table2 
no | code | qty | /// AVGprice | Total 
J001 | B001 | 5 | /// 1500  | 7500 
J001 | B003 | 7 | /// 1000  | 7000 

table3         table4 
code | name  | AVGPrice   no | code | Price 
B001 | procc  | 1500    M001 | B001 | 1000 
B002 | motherboard | 2000    M001 | B002 | 2000 
B003 | VGA card | 1000    M002 | B001 | 2000 
             M002 | B003 | 1000 

나는이 쿼리에서 내가이 쿼리 I가 원하는다른 테이블의 데이터를 하나의 테이블로 가져와 표시하는 방법은 무엇입니까?

select t.no, t.date, t.info 
from (select table1.no, table1.date, 'ABCDEFG' as info 
     from table1 
    )as t 

결과입니다

no | date | Info 
J001| 06 June | ABCDEFG 

을 할 수

select t.code, t.name, t.avg 
from (select table3.code, table3.name, (
     select avg(table4.price) 
     from table4 
     where table4.code=table3.code)as 'avg' 
     from table3 
)as t 

결과를 AVGprice를 얻을 수

내 평균 쿼리를 넣어 그것을 요약하는 방법을 어디에서 21,332,356,534,392,043,210

나는 모르겠어 ...

답변

0

다음은 평균을 당겨하는 데 필요한 하위 쿼리를 추가해야 다음, 나는 당신에게주는 또 다른 열을 추가 평균의 합계.

select t.no, 
t.date, 
t.info, 
(select avg(table4.price) 
     from table4 
     where table4.code=table3.code)as 'avg', 
sum(avg) 
from (select table1.no, table1.date, 'ABCDEFG' as info 
     from table1 
    )as t 
group by t.no, t.date, t.info 
+0

나는 평균의 합계를 더했습니다. 그러나 그것은 당신이 원하는 것이 아닐 수도 있습니다. 당신은 당신이 원하는 것을 합산 한 것으로 바꿀 수 있습니다. –

+0

알 수없는 열 table3 .... 나는 그것을 넣어야합니까 -> table4, table3에서 ?? 합계 ... 첫 번째 평균 1500과 동일하지만 2500과 다름 B001 및 B003의 평균 합계 – user3651460

관련 문제