|
|
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Есть примерно такой запрос select A.id as Q, sum(A.min) as QQ,(?) as QQQ from A,B where A.id=B.id; ? - в это место надо добавить подзапрос, чтоб он делал следующее из таблицы С суммировал столбец s по A.id, а A.id получается берется из внешнего запроса. получает например следующее Q QQ QQQ 1 2 4 2 3 6 подскажите как здесь быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2004, 00:13 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Так так и пиши Код: plaintext a еще лучше Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2004, 00:25 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
А вот такой запрос выдает не то, что надо select A.id as Q, sum(A.min) as QQ,sum(c.s) as QQQ, sum(E.p) as QQQQ from A inner join B on a.id=b.id inner join c on a.id=c.id inner join E on a.f=E.f Sum(E.p) - получается левое значение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2004, 22:20 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
А самому немножко подумать ? Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2004, 22:24 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Вот конкретная часть запроса SELECT forms![создание базы]!за_месяц AS PER, ("") AS INV, Абоненты.FIO AS F, Абоненты.STREET++" "+Абоненты.DOM+IIf(Абоненты.KORP<>"",IIf(Абоненты.KORP>="а" And Абоненты.KORP<="я",""+Абоненты.KORP,"/"+Абоненты.KORP),"")+IIf(Абоненты.KVAR<>"",","+Абоненты.KVAR,"") AS ADDR, Абоненты.PHONE AS PH, Sum(Платежи.[SUMMA]) AS DEB, Абоненты.TARIF AS PAY, forms![создание базы]!bilprice AS BILPA, (Sum(IIf(Minute(Таблица_звонков.[Фактическая Длительность])=0,IIf(Second(Таблица_звонков.[Фактическая Длительность])<31,0,forms![создание базы]!bilprice),IIf(Second(Таблица_звонков.[Фактическая Длительность])>0,(Minute(Таблица_звонков.[Фактическая Длительность])+1)*forms![создание базы]!bilprice,Minute(Таблица_звонков.[Фактическая Длительность])*forms![создание базы]!bilprice)))+Абоненты.TARIF) AS SU, forms![создание базы]!comment AS COMM FROM (Абоненты INNER JOIN Таблица_звонков ON Абоненты.[Идентификатор звонящего]=Таблица_звонков.[Идентификатор Звонящего]) INNER JOIN Платежи ON Абоненты.SCHET=Платежи.SCHET WHERE (Таблица_звонков.Дата Between forms![создание базы]!begin And forms![создание базы]!end) GROUP BY Абоненты.[Идентификатор звонящего], Абоненты.FIO, (Абоненты.STREET+" "+Абоненты.DOM+IIf(Абоненты.KORP<>"",IIf(Абоненты.KORP>="а" And Абоненты.KORP<="я",""+Абоненты.KORP,"/"+Абоненты.KORP),"")+IIf(Абоненты.KVAR<>"",","+Абоненты.KVAR,"")), Абоненты.PHONE, Абоненты.TARIF Sum(Платежи.[SUMMA]) - считается неправильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2004, 22:44 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Скопируй базу данных и переведи на английский, а то в таком виде просто невозможно запросы читать, я уже не говорю о том чтобы составлять. SHOGAL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 16:36 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
SELECT A.ID_ABON, Sum(A.SUMMA) AS S, Sum(B.SUMM) AS SS FROM (D INNER JOIN A ON D.ID_ABON=A.ID_ABON) INNER JOIN B ON D.ID_ABON=B.ID_ABON WHERE A.KOD=1 GROUP BY A.ID_ABON; Вторая сумма SS считается неправильно хз почему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2004, 23:28 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Если так считается - значит так и надо. Если автор ожидает другого, то надо понять чего и почему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2004, 23:32 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
А именно: 1. На каких данных проводился расчет? 2. Какой результат был получен? 3. Какой результат ожидался? Без этого вопрос вроде как и не задан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2004, 23:34 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Ожидал, что просуммирует все значения в таблице B по ID_ABON Данные такие Таблица D ID_ABON 1 2 Таблица A ID_ABON SUMMA 1 20 1 23 2 20 Таблица В ID_ABON SUMM 1 275 2 30 .. .. Ожидал 1 115р 275р. Получил 1 115р 555,7р ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2004, 23:43 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Таблица A ID_ABON SUMMA 1 60 1 55 2 20 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2004, 23:44 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Отвечаю. Если убрать из запроса группировку, то будет видно, что с чем суммируется. В том числе видно, что из-за повторения значений в одной из таблиц некоторые записи других таблиц повторяются по несколько раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2004, 23:56 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Кстати, мне вернуло не 555,7, а 550, т.е. ровно 275*2. Думаю, что разница между 555,7 и 550 вызвана какой-то ошибкой на этапе упрощения примера для форума. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2004, 23:58 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2004, 00:12 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
А что значат строки nz(sum_a,0) Sum_A,nz(sum_b,0) Sum_B - access выдает на них ошибку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2004, 13:49 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32469030&tid=1675578]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
183ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 537ms |

| 0 / 0 |
