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

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


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