|
|
|
Просуммировать поля из разных таблиц ?
|
|||
|---|---|---|---|
|
#18+
Проблема: Есть 3 таблицы А, B, C. A : (Aid, FieldA) B : (Bid, Aid, Cid) C : (Cid, FieldC) Как одним запросом можно просуммировать FieldA и FieldB, для Bid = x ? Например, SELECT SUM(FieldA), SUM(FieldB) FROM A INNER JOIN B USING(Aid) INNER JOIN C USING(Cid) WHERE Bid = x работает только если в A или C при данном х только одна запись. 10x ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2004, 12:44 |
|
||
|
Просуммировать поля из разных таблиц ?
|
|||
|---|---|---|---|
|
#18+
select sum(a.A), sum(b.B) from b inner join a on a.aid=b.aid where b.bid=x ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2004, 12:57 |
|
||
|
Просуммировать поля из разных таблиц ?
|
|||
|---|---|---|---|
|
#18+
извиняюсь ошибся, в верхнем посте имелось ввиду FieldC из таблицы C ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2004, 13:06 |
|
||
|
Просуммировать поля из разных таблиц ?
|
|||
|---|---|---|---|
|
#18+
togda i tak vse prekrasno budet rabotat' ) select sum(a.A), sum(c.C) from b join a on a.aid=b.aid join c on c.cid=b.cid where b.bid=x ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2004, 13:15 |
|
||
|
Просуммировать поля из разных таблиц ?
|
|||
|---|---|---|---|
|
#18+
не будет предположим у нас следующая ситуация А (1, 10), (1, 11), (1, 12) B (1, 3, 2) C (2, 21), (2, 22) select sum(A.FieldA), sum(C.FieldC) from B join A on A.Aid = B.Aid join C on C.Cid = B.Cid where C.Bid = 3 Тогда после JOIN будет (1,10) (2,21) (1,11) (2,21) (1,12) (2,21) (1,10) (2,22) (1,11) (2,22) (1,12) (2,22) После "GROUP BY" (его нет в явном виде, сам мускл его вызывает) Sum(А.FieldA) = 66 (вместо 33) Sum(C.FieldC) = 129 (вместо 43) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2004, 13:33 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=32644401&tid=1854902]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
202ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 250ms |
| total: | 554ms |

| 0 / 0 |
