Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 06.07.2011, 10:50   #1
Alexsandr
Пользователь
 
Аватар для Alexsandr
 
Регистрация: 30.09.2007
Сообщений: 70
Вопрос Проблема с SQL запросом

Доброго времени суток! Помогите разобраться. Есть SQL запрос
SELECT Dat1,Vidrabot,Kolvo
FROM Rab
WHERE Dat1>= :fist_date and Dat1<= :last_date
GROUP BY Dat1,Vidrabot,Kolvo


но выводяться не все строки, например выбираю все виды работ и их количество за 1 день, а выводиться на одну строку меньше (один вид работ меньше),чем бд. За раннее благодарен.
Alexsandr вне форума Ответить с цитированием
Старый 06.07.2011, 12:09   #2
iloer
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 13
По умолчанию

при любом промежутке дат ровно на одну строку меньше или при других условиях разница увеличивается(уменьшается)? пример данных пожалуйста
iloer вне форума Ответить с цитированием
Старый 06.07.2011, 12:17   #3
Alexsandr
Пользователь
 
Аватар для Alexsandr
 
Регистрация: 30.09.2007
Сообщений: 70
По умолчанию

пример
строка с заказа 1 за 1.07.11 замена пыльника 1 выводит
строка с заказа 2 за 1.07.11 замена пыльника 1 не выводит
строка с заказа 3 за 1.07.11 замена пыльника 1 не выводит
строка с заказа 4 за 1.07.11 замена пыльника 2 выводит
строка с заказа 5 за 1.07.11 замена шаровой опоры 2 выводит

т.е замена пыльника 1 в разных заказах

Последний раз редактировалось Alexsandr; 06.07.2011 в 12:21.
Alexsandr вне форума Ответить с цитированием
Старый 06.07.2011, 12:21   #4
iloer
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 13
По умолчанию

судя по тому что вы написали первые три строки просто группируются в запросе, все работает согласно запросу.
зачем вам нужно "GROUP BY Dat1,Vidrabot,Kolvo" в данном случае?
iloer вне форума Ответить с цитированием
Старый 06.07.2011, 12:23   #5
iloer
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 13
По умолчанию

SELECT Dat1,Vidrabot,count(Kolvo)
FROM Rab
WHERE Dat1>= :fist_date and Dat1<= :last_date
GROUP BY Dat1,Vidrabot,Kolvo

покажет количество одинаковых работ

либо

SELECT Dat1,Vidrabot,Kolvo
FROM Rab
WHERE Dat1>= :fist_date and Dat1<= :last_date

выведет все записи
iloer вне форума Ответить с цитированием
Старый 06.07.2011, 12:27   #6
Alexsandr
Пользователь
 
Аватар для Alexsandr
 
Регистрация: 30.09.2007
Сообщений: 70
По умолчанию

Спасибо большое получилось! Действительно я протупил.
Alexsandr вне форума Ответить с цитированием
Старый 06.07.2011, 12:30   #7
iloer
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 13
По умолчанию

точнее надо быть в описании, "строка с заказа 1 за 1.07.11" это одна ячейка базы данных или нет, описание столбцов в студию

-----------------------------------
пожалуйсто
iloer вне форума Ответить с цитированием
Старый 06.07.2011, 12:32   #8
Alexsandr
Пользователь
 
Аватар для Alexsandr
 
Регистрация: 30.09.2007
Сообщений: 70
По умолчанию

Не правильно выводило из-за GROUP BY Dat1,Vidrabot,Kolvo убрал и всё стало работать. Спасибо.
Alexsandr вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с запросом SQL lyle_200490 SQL, базы данных 2 20.11.2010 09:09
Проблема с SQL-запросом stscolt БД в Delphi 5 19.02.2010 17:47
Проблема с SQL запросом Bilargo БД в Delphi 4 27.11.2009 20:10
Проблема с SQL Запросом Worms БД в Delphi 7 14.01.2008 00:09