|
|
|
|
|
для: Trianon
(03.08.2007 в 00:00)
| |
Что вы на человека обрушились он может с FoxPro переехал
|
| |
|
|
|
|
|
|
|
для: Expier
(14.12.2006 в 16:45)
| | Если Вы указываете GROUP BY поле_группировки, то любые поля в SELECT, отличные от этого поля должны фигурировать только внутри агрегатов(MIN, MAX, COUNT, SUM etc...).
Если Вы не знаете что такое агрегатные функции - не применяйте GROUP BY вообще.
GROUP BY существует только и исключительно чтобы формировать группы данных для агрегатных функций. | |
|
|
|
|
|
|
|
для: Expier
(14.12.2006 в 16:45)
| | А если так:
SELECT personal.id_seaman , sea_service.num FROM personal, sea_service WHERE
sea_service.del='0' AND personal.del='0' AND personal.id_rank = '1'
AND sea_service.dwt >= '1' AND personal.id_seaman = sea_service.id_seaman GROUP BY personal.id_seaman;
|
Как я думаю, ты выбираешь записи из 2х таблиц НЕ с одинаковым id_seaman, а все подряд.
Я добавил AND personal.id_seaman = sea_service.id_seaman | |
|
|
|
|
|
|
| Здравствуйте!
Делаю такой запрос:
SELECT personal.id_seaman , sea_service.num FROM personal, sea_service WHERE
sea_service.del='0' AND personal.del='0' AND personal.id_rank = '1'
AND sea_service.dwt >= '1' GROUP BY personal.id_seaman;
|
Немного объясню: существует 2 таблицы, часть данных берется из одной, остальные - из другой.
Поле id_seaman - существует как в таблице personal так и в sea_service.
результат выглядит примерно так
id_seama | num
18 | 1
23 | 1
34 | 1
56 | 1
78 | 1
......
и т.д
Проблема в том, что выдает строки, некоторые из которых не соответствуют запросу.
Т.е., например, строка, в которой id_seaman = 23 а num = 1, не существует: в таблице sea_service вообще нет строки с id_seaman = 23;
Поле num - это вообще ключ. Т.е. о дублировании его речи быть не может.
Подскажите, пожалуйста, в чем может быть дело. | |
|
|
|
|