Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не могу сделать запрос / 8 сообщений из 8, страница 1 из 1
28.05.2007, 09:59
    #34554461
Nekit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать запрос
Есть таблица table1 с полями field1,field2,field3,field4,field5. Нужно создать запрос, который бы выбирал все записи, причем комбинация полей field1,field2,field3,field4 должна быть уникальной.
Спасибо за помощь.
...
Рейтинг: 0 / 0
28.05.2007, 10:04
    #34554478
Не могу сделать запрос
Код: plaintext
Select distinct Field1, field2, field3, field4, field5 from ...
...
Рейтинг: 0 / 0
28.05.2007, 10:10
    #34554491
Nekit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать запрос
проходящий.
Код: plaintext
Select distinct Field1, field2, field3, field4, field5 from ...

Это не подходит, так как он будет считать еще и поле field5, то есть если field1, field2, field3, field4 у двух записей одинаковые, а field5 разное, то в результат запроса обе записи включатся, а должна будет включиться только одна.
...
Рейтинг: 0 / 0
28.05.2007, 10:45
    #34554590
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать запрос
Nekit проходящий.
Код: plaintext
Select distinct Field1, field2, field3, field4, field5 from ...

Это не подходит, так как он будет считать еще и поле field5, то есть если field1, field2, field3, field4 у двух записей одинаковые, а field5 разное, то в результат запроса обе записи включатся, а должна будет включиться только одна.
Это смотря что ты хочешь из Field5 получить. Например, так.
Код: plaintext
1.
Select distinct Field1, field2, field3, field4, MAX(field5) AS Field5 from ... GROUP BY  1 ,  2 ,  3 ,  4 
А вот если не MAX/MIN/SUM/AVG, а что-то сложнее, то здесь можно в 2 запроса.
...
Рейтинг: 0 / 0
28.05.2007, 12:15
    #34554877
Nekit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать запрос
Kruchinin Pahan Nekit проходящий.
Код: plaintext
Select distinct Field1, field2, field3, field4, field5 from ...

Это не подходит, так как он будет считать еще и поле field5, то есть если field1, field2, field3, field4 у двух записей одинаковые, а field5 разное, то в результат запроса обе записи включатся, а должна будет включиться только одна.
Это смотря что ты хочешь из Field5 получить. Например, так.
Код: plaintext
1.
Select distinct Field1, field2, field3, field4, MAX(field5) AS Field5 from ... GROUP BY  1 ,  2 ,  3 ,  4 
А вот если не MAX/MIN/SUM/AVG, а что-то сложнее, то здесь можно в 2 запроса.
Не нужно ничего получать из field5
Пример:
field1 field2 field3 field4 field5
Иванов Иван Иванович 10.10.1980 Директор
Иванов Иван Иванович 10.10.1980 Зам.Директора
Иванов Петр Иванович 10.10.1980 Ком.Директор
Иванов Иван Петрович 10.10.1980 Директор
После запроса должно быть
Иванов Иван Иванович 10.10.1980 Директор
Иванов Петр Иванович 10.10.1980 Ком.Директор
Иванов Иван Петрович 10.10.1980 Директор
То есть пятое поле просто в нагрузку идет, а уникальной должна быть комбинация первых четырех полей.
...
Рейтинг: 0 / 0
29.05.2007, 05:51
    #34556627
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать запрос
Nekit
Не нужно ничего получать из field5
Пример:
field1 field2 field3 field4 field5
Иванов Иван Иванович 10.10.1980 Директор
Иванов Иван Иванович 10.10.1980 Зам.Директора
Иванов Петр Иванович 10.10.1980 Ком.Директор
Иванов Иван Петрович 10.10.1980 Директор
После запроса должно быть
Иванов Иван Иванович 10.10.1980 Директор
Иванов Петр Иванович 10.10.1980 Ком.Директор
Иванов Иван Петрович 10.10.1980 Директор
То есть пятое поле просто в нагрузку идет, а уникальной должна быть комбинация первых четырех полей.
И чем тогда MAX не устраивет? Просто так в нагрузку?
Код: plaintext
1.
Select distinct Field1, field2, field3, field4, MAX(field5) AS Field5 from ... GROUP BY  1 ,  2 ,  3 ,  4 
...
Рейтинг: 0 / 0
29.05.2007, 07:46
    #34556686
Nekit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать запрос
Kruchinin Pahan Nekit
Не нужно ничего получать из field5
Пример:
field1 field2 field3 field4 field5
Иванов Иван Иванович 10.10.1980 Директор
Иванов Иван Иванович 10.10.1980 Зам.Директора
Иванов Петр Иванович 10.10.1980 Ком.Директор
Иванов Иван Петрович 10.10.1980 Директор
После запроса должно быть
Иванов Иван Иванович 10.10.1980 Директор
Иванов Петр Иванович 10.10.1980 Ком.Директор
Иванов Иван Петрович 10.10.1980 Директор
То есть пятое поле просто в нагрузку идет, а уникальной должна быть комбинация первых четырех полей.
И чем тогда MAX не устраивет? Просто так в нагрузку?
Код: plaintext
1.
Select distinct Field1, field2, field3, field4, MAX(field5) AS Field5 from ... GROUP BY  1 ,  2 ,  3 ,  4 

Не подходит мне макс, потому что каждая запись должна содержать свое значение field5, а не max(field5)
...
Рейтинг: 0 / 0
29.05.2007, 09:19
    #34556811
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу сделать запрос
NekitНе подходит мне макс, потому что каждая запись должна содержать свое значение field5, а не max(field5)
А что значит "свое значение"? Есть какой-то алгоритм его выбора? Если нет, то почему max(field5) не подходит? Запускать с max(field5) пробовал? Что получилось? Что не правильно?
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не могу сделать запрос / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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