Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 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 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



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