Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL запрос довольно сложный... / 7 сообщений из 7, страница 1 из 1
24.01.2006, 12:33:34
    #33499455
shady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос довольно сложный...
у меня есть запрос:

Код: plaintext
1.
2.
SELECT kodsmi, maimsmi, sum(kol) AS sum_kol, sum(uet) AS sum_uet, date_o, " _
    & " srop, summa FROM Users WHERE (date_o BETWEEN " & d1 & " " _
    & "AND " & d2 & ") AND (kodopl =  1 )

вот эти вот sum(kol) AS sum_kol, sum(uet) AS sum_uet первый раз мне нужно за определенную дату, второй раз нужно sum(kol) AS sum_kolm, sum(uet) AS sum_uetm за месяц..
так можно в одном запросе сделать?
...
Рейтинг: 0 / 0
24.01.2006, 12:44:51
    #33499514
SQL запрос довольно сложный...
Странно. Вопрос по SQL в форуме по VB. :) Ну, да ладно.

Какая база?
Приведи данные, что есть и что хочешь получить.
...
Рейтинг: 0 / 0
24.01.2006, 13:00:08
    #33499596
shady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос довольно сложный...
авторСтранно. Вопрос по SQL в форуме по VB
программу на ВБ пишу, и по привычке сюда запостил...
авторКакая база?
ACCESS
авторПриведи данные, что есть и что хочешь получить.
код запроса изменился, поторопился и запостил нерабочий код, поправляюсь..
Код: plaintext
1.
2.
 rsrptVedRaspZak.Open "SELECT naimsmi, kodsmi, sum(kol) AS sum_kol, sum(uet) AS sum_uet " _
    & "FROM Users WHERE (date_o BETWEEN " & d1 & " " _
    & "AND " & d2 & ") AND (kodopl = 1) GROUP BY naimsmi, kodsmi", conn
ну а что хочу, я уже писал,
явот эти вот sum(kol) AS sum_kol, sum(uet) AS sum_uet первый раз мне нужно за определенную дату, второй раз нужно sum(kol) AS sum_kolm, sum(uet) AS sum_uetm за месяц ..
т.е. сначала например за сегодняшний день, а потом за весь месяц, т.е. до текущего дня включительно
...
Рейтинг: 0 / 0
24.01.2006, 14:03:11
    #33499855
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос довольно сложный...
можно использовать UNION
для 2 запроса но проблема возникнет для отделения результатов запроса
SELECT ................
UNION
SELECT ..............
...
Рейтинг: 0 / 0
24.01.2006, 14:49:01
    #33499977
SQL запрос довольно сложный...
Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT Sum([kol]) AS SumKol, Sum([uet]) AS SumUet
FROM Users
WHERE date_o=# 12 / 10 / 2005 #
UNION ALL
SELECT Sum([kol]) AS SumKol, Sum([uet]) AS SumUet
FROM Users
WHERE date_o Between # 1 / 1 / 2006 # AND # 1 / 31 / 2006 #

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
    Dim rst As New ADODB.recordset
    Dim fld As ADODB.Field
    Dim dtmDate1 As Date
    Dim dtmDate2 As Date
    Dim dtmDate3 As Date
    
    dtmDate1 = # 12 / 10 / 2005 #
    dtmDate2 = # 1 / 1 / 2006 #
    dtmDate3 = # 1 / 31 / 2006 #
    
    rst.Open "SELECT Sum([kol]) AS SumKol, Sum([uet]) AS SumUet " _
      & "FROM Users " _
      & "WHERE date_o = #" & Format(dtmDate1, "mm\/dd\/yy") & "# " _
      & "UNION ALL " _
      & "SELECT Sum([kol]) AS SumKol, Sum([uet]) AS SumUet " _
      & "FROM Users " _
      & "WHERE date_o Between #" & Format(dtmDate2, "mm\/dd\/yy") & "# AND #" _
      & Format(dtmDate3, "mm\/dd\/yy") & "#", CurrentProject.Connection
      
    Do Until rst.EOF
        For Each fld In rst.Fields
            Debug.Print fld.Value;
        Next fld
        Debug.Print
        rst.MoveNext
    Loop
...
Рейтинг: 0 / 0
24.01.2006, 15:42:49
    #33500153
AndreyF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос довольно сложный...
shadyт.е. сначала например за сегодняшний день, а потом за весь месяц, т.е. до текущего дня включительно

Никаких UNION тут не нужно. Даром.

Просто строй строку запроса на примере:

sum(IIF(date_o=#1/24/2006#,kol,0)) AS sum_kol, sum(kol) AS sum_kolm

Идея ясна?
...
Рейтинг: 0 / 0
24.01.2006, 16:59:43
    #33500371
shady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос довольно сложный...
да, понял, про iif я то-то даже и не подумал...
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL запрос довольно сложный... / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]