powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / GROUP BY не получается ((((
12 сообщений из 12, страница 1 из 1
GROUP BY не получается ((((
    #33531881
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леди и джентльмены!
Вот строки из Help'а: The GROUP BY clause must list every field in the SELECT list except for fields contained in an aggregate function, such as the COUNT( ) function
Делаю простейший запрос, но на него выдается ошибка. Что у меня не по Help'у?
Код: plaintext
SELECT tmp.nId,tmp.cFio,coun(tmp.nId) as Vsego FROM tmp GROUP BY tmp.nId INTO CURSOR tmp1
Благодарю
...
Рейтинг: 0 / 0
GROUP BY не получается ((((
    #33531911
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
GROUP BY tmp.nId,tmp.cFio
...
Рейтинг: 0 / 0
GROUP BY не получается ((((
    #33531946
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот, продолжаю эксперементировать. НАверно кто-то уже ответил. Но все равно, пытаюсь пока сама.
Вот так проходит:
Код: plaintext
SELECT tmp.nId,tmp.cFio,coun(tmp.nId) as Vsego FROM tmp GROUP BY tmp.nId,tmp.cFio INTO CURSOR tmp1
А теперь добавляю еще одно поле:
Код: plaintext
SELECT tmp.nId,tmp.cFio,tmp.dDate,coun(tmp.nId) as Vsego FROM tmp GROUP BY tmp.nId,tmp.cFio,tmp.dDate INTO CURSOR tmp1
У меня получается запрос один в один с tmp, только поле Vsego добавлено. Причем теперь в нем теперь все единицы.
Я запуталась.
Короче, вообще-то я пытаюсь передать в tmp1 людей, у которых в поле dDate содержится минимальное значение (хотя дата может на данного человека может быть и всего одна запись, а может и пять)
...
Рейтинг: 0 / 0
GROUP BY не получается ((((
    #33532001
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛисонькаКороче, вообще-то я пытаюсь передать в tmp1 людей, у которых в поле dDate содержится минимальное значение (хотя дата может на данного человека может быть и всего одна запись, а может и пять)
SELECT tmp.*, t.MinDate ;FROM tmp INNER JOIN ()t ON GROUP BY tmp.nId,tmp.cFio,tmp.dDate INTO CURSOR tmp1
...
Рейтинг: 0 / 0
GROUP BY не получается ((((
    #33532011
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чорт Ctrl+Enter послал месагу
Код: plaintext
1.
2.
3.
4.
SELECT tmp.*, t.MinDate ;
	FROM tmp INNER JOIN ;
		(SELECT tmp.nId, MIN(tmp.dDate) AS MinDate FROM tmp GROUP BY tmp.nID)t ;
	ON tmp.nID=t.nID;
	INTO CURSOR tmp1
...
Рейтинг: 0 / 0
GROUP BY не получается ((((
    #33532040
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hel!RiserSELECT tmp.*, t.MinDate ;FROM tmp INNER JOIN ()t ON GROUP BY tmp.nId,tmp.cFio,tmp.dDate INTO CURSOR tmp1

SELECT tmp.*, t.MinDate ;FROM tmp INNER JOIN ()t ON GROUP BY tmp.nId,tmp.cFio,tmp.dDate INTO CURSOR tmp1
Мне непонятны две вещи: что есть t.MinDate - откуда она выводится и как понять ()t ?
Если так:
SELECT tmp.*, t.MinDate ;FROM tmp INNER JOIN tmp1 ON GROUP BY tmp.nId,tmp.cFio,tmp.dDate INTO CURSOR tmp1
тогда все равно ошибка
...
Рейтинг: 0 / 0
GROUP BY не получается ((((
    #33532044
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой, не видела ответа. Сейчас разберу. Прошу прощения у Hel!Riser
...
Рейтинг: 0 / 0
GROUP BY не получается ((((
    #33532190
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, что за t всетаки? У меня все равно ошибка выдается.
Вообще я все-таки огород нагородила. Не надо было так делать вообще. Я сейчас пошла другим путем. Объясните, так я сделала правильно?
Предположим, что имеются TabFio и TabDate. Делаем первый запрос:
Код: plaintext
1.
2.
SELECT TabFio.nId as Id1,TabFio.Fio,TabDate.nId as Id2,TabDate.dDate;
              FROM TabFio LEFT JOIN TabDate ON TabDate.nId=TabFio.nId;
              INTO CURS tmp
Получается выборка на всех людей, в т.ч. и у тех, у которых отсутвтвует запись в TabDate. Затем делаем вторую выборку:
Код: plaintext
1.
SELECT tmp.Id1,tmp.fio,MIN(tmp.dDate) FROM tmp GROUP BY tmp.Id1;
              INTO CURS tmp1
Как с вашей профессиональной точки зрения выглядит такое решение?
...
Рейтинг: 0 / 0
GROUP BY не получается ((((
    #33532407
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну если Фокс не 90 то скорей и не поймет - тама был вложеный запрос таблицы, кот участвует в связке. И это по идее можна разбить на 2 последовательных запроса, што собсна ты и сделала. Тебе зачот!
...
Рейтинг: 0 / 0
GROUP BY не получается ((((
    #33532646
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛисонькаКороче, вообще-то я пытаюсь передать в tmp1 людей, у которых в поле dDate содержится минимальное значение (хотя дата может на данного человека может быть и всего одна запись, а может и пять)

Выбрать из дочерней таблицы записи с максимальной датой
...
Рейтинг: 0 / 0
GROUP BY не получается ((((
    #33532648
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hel!Riserну если Фокс не 90 то скорей и не поймет - тама был вложеный запрос таблицы, кот участвует в связке. И это по идее можна разбить на 2 последовательных запроса, што собсна ты и сделала. Тебе зачот!
Спасибо!! Приятно было это услышать.

Елизавета Скрунскайте
...
Рейтинг: 0 / 0
GROUP BY не получается ((((
    #33532654
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot ВладимирМ Выбрать из дочерней таблицы записи с максимальной датой [/quot]
Ох, а эту Вашу страничку я уже качала когда-то себе в архив. Совсем забыла. Извините.
Оправдалась бы, что память короткая - девичья, да уж дочки в школу ходят. И на старуху бывает проруха.
Леди и джентельмены, вы уж не сердитесь, пожалуйста, что так часто задаю глупые и путанные вопросы. :-((
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / GROUP BY не получается ((((
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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