powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с выборкой уникальных значений
61 сообщений из 61, показаны все 3 страниц
Проблема с выборкой уникальных значений
    #38235320
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT DISTINCT f.name as f_name, 
f.address as f_address, 
f.business as f_business, 
f.web as f_web, 
f.phone as f_phone, 
p.name as p_name 
FROM Firm f 
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm 
WHERE p.include='1' ORDER BY f.name ASC



Получаю результаты:


как видно из скриншота есть несколько неуникальных, одинаковых значений.
Подскажите почему они отображаются результатах, тогда как есть SELECT DISTINCT f.name as f_name и как сделать, чтобы выводились только уникальные значения f_name ?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235330
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя уникальная вся строка.
А ты хочешь уникальность по одному полю.
Придется использовать ранкинг или группировки.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235332
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на скриншоте не видно последней колонки результата
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235339
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
WHERE p.include='1'

делает бессмысленным LEFT JOIN
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235346
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7,

Если выбрать имя только по одному разу,
то какими должны быть значения в остальных полях для каждого имени?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235395
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iap,

в принципе уникальность всей строки не нужна, т.е. должно быть уникально имя (f_name), а уникальность по остальным значениям не требуется.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235399
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так и шо там у нас с последнею колонкою?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235421
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7iap,

в принципе уникальность всей строки не нужна, т.е. должно быть уникально имя (f_name), а уникальность по остальным значениям не требуется.Так что с остальными-то делать?
Может, требуется просто выбрать строки, в которых такое имя, которого нет в других строках,
а строки с именами, которые повторяются в других строках, просто игнорировыать?
Как Вас понимать-то вообще?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235451
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iap,

сорри, задача в том, чтобы выбрать строки с уникальными f_name, а остальные значения строки просто выбрать и все(без уникальности значений), т.е получается чтот-то вроде:

Код: sql
1.
2.
3.
4.
5.
SELECT DISTINCT f.name as f_name
*
FROM Firm f 
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm 
WHERE p.include='1' ORDER BY f.name ASC



только нужно еще добавить выборку неуникальных полей:

Код: sql
1.
2.
3.
4.
5.
f.address as f_address, 
f.business as f_business, 
f.web as f_web, 
f.phone as f_phone, 
p.name as p_name 
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235463
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235466
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7, в вашем примере какая из строк 6-11 должна остаться и почему? p_name ведь в них будут разные, как можно предположить
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235471
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7i
выбрать строки с уникальными f_name

только нужно еще добавить выборку неуникальных полей:




ERROR: Division by zero encountered
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235486
Мистер Хенки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7iap,

сорри, задача в том, чтобы выбрать строки с уникальными f_name, а остальные значения строки просто выбрать и все(без уникальности значений), т.е получается чтот-то вроде:



только нужно еще добавить выборку неуникальных полей:


Может надо выбрать уникальные f_name, а остальные значения если они не уникальны через запятую перечислить ?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235557
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перефразирую вопрос:
нужно сделать выборку всех полей таблицы из базы данных с уникальностью по полю f.name.
Как это сделать из запроса:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT DISTINCT f.name as f_name, 
f.address as f_address, 
f.business as f_business, 
f.web as f_web, 
f.phone as f_phone, 
p.name as p_name 
FROM Firm f 
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm 
WHERE p.include='1' ORDER BY f.name ASC
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235559
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторSELECT f.name as f_name,
max(f.address) as f_address,
max(f.business) as f_business,
max(f.web) as f_web,
max(f.phone) as f_phone,
max(p.name) as p_name
FROM Firm f
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm
WHERE p.include='1'
GROUP BY f.name
ORDER BY f.name ASC
тебе подойдет
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235569
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7Перефразирую вопрос:
нужно сделать выборку всех полей таблицы из базы данных с уникальностью по полю f.name.Так вас спрашивают, что это такое, как хоть это выглядит?

Как вы понимаете, например, фразу: "сделать выборку имён и фамилий с уникальностью по именам"?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235638
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мистер ХенкиAmateur7iap,

сорри, задача в том, чтобы выбрать строки с уникальными f_name, а остальные значения строки просто выбрать и все(без уникальности значений), т.е получается чтот-то вроде:



только нужно еще добавить выборку неуникальных полей:


Может надо выбрать уникальные f_name, а остальные значения если они не уникальны через запятую перечислить ?Дык, молчит под пытками!!

Кстати, и на замечание про WHERE никак не реагирует
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235854
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, чтобы выбрать уникальные значения f_name есть запрос:
Код: sql
1.
2.
3.
4.
SELECT DISTINCT f.name as f_name
FROM Firm f 
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm 
WHERE p.include='1' ORDER BY f.name ASC



на оператор left join и where внимания не обращайте вовсе - это вообще ни к чему.

к первоначальному запросу нужно добавить выборку полей(уникальности от них не требуется, просто перечислить при выборке):

Код: sql
1.
2.
3.
4.
5.
f.address as f_address, 
f.business as f_business, 
f.web as f_web, 
f.phone as f_phone, 
p.name as p_name



вроде как все доступно пояснил, теперь уже точно...
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235919
Фотография Knyazev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT top 1 with ties f.name as f_name,
f.address as f_address, 
f.business as f_business, 
f.web as f_web, 
f.phone as f_phone, 
p.name as p_name
FROM Firm f 
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm 
WHERE p.include='1' 
ORDER BY row_number() over ( partition by f.name order by f.name )
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38235975
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7вроде как все доступно пояснил, теперь уже точно...
Это задача называется так
для каждой записи одной таблицы выбрать одну запись другой таблицы - здесь идет описание критериев, которым должна соответствовать эта одна запись
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236099
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7уникальности от них не требуется, просто перечислить при выборке Рекомендации, пункты 6 и 4
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236313
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7к первоначальному запросу нужно добавить выборку полей(уникальности от них не требуется, просто перечислить при выборке):

вроде как все доступно пояснил, теперь уже точно...Теперь вы повторили то, что писали раньше.

Ответьте лучше на вопрос:
alexeyvgКак вы понимаете, например, фразу: "сделать выборку имён и фамилий с уникальностью по именам"?

Или сразу:
Паганель Рекомендации, пункты 6 и 4
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236325
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7чтобы выбрать уникальные значения f_name есть запрос:
...
к первоначальному запросу нужно добавить выборку полей(уникальности от них не требуется, просто перечислить при выборке):
...
вроде как все доступно пояснил, теперь уже точно...
Мда... давайте лучше разовьём вопрос alexeyvg, заданный несколькими постами ранее:
alexeyvgКак вы понимаете, например, фразу: "сделать выборку имён и фамилий с уникальностью по именам"?
Предположим, у нас есть таблица people с именами (name) и фамилиями (surname). И в этой таблице есть такие записи:
Код: sql
1.
2.
3.
4.
5.
6.
7.
name surname
---- -------
Иван Иванов
Иван Петров
Иван Сидоров
Пётр Иванов
Пётр Михайлов


При помощи запроса "SELECT DISTINCT name FROM people" вы выбрали уникальные значения name:
Код: sql
1.
2.
3.
4.
name
----
Иван
Пётр


Какой результат, в вашем представлении, должен получиться, если "к первоначальному запросу добавить выборку полей surname (уникальности от них не требуется, просто перечислить при выборке)"?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236372
ambarka_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость333Какой результат, ..?
Зря фамилии по алфавиту отсортировали, это затруднит рождение истины.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236389
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ambarka_maxГость333Какой результат, ..?
Зря фамилии по алфавиту отсортировали, это затруднит рождение истины.Что-то уже и воды отошли,
а всё никак не родится! :((
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236404
Фотография Knyazev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapЧто-то уже и воды отошли,
а всё никак не родится! :((

ух...думал форумом ошибся
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236476
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хорошо, допустим возьмем проверку всей строки на уникальность:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT 
DISTINCT 
f.id_service as f_id_service,
 f.id_city as f_id_city, 
f.name as f_name, 
f.address as f_address, 
f.business as f_business, 
f.web as f_web, 
f.phone as f_phone, 
f.id_firm as f_id_firm, 
p.name as p_name 
FROM Firm f left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm



тогда как быть в таком случае?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
SELECT 
DISTINCT TOP 20 
f.id_service as f_id_service,
 f.id_city as f_id_city, 
f.name as f_name, 
f.address as f_address, 
f.business as f_business, 
f.web as f_web, 
f.phone as f_phone, 
f.id_firm as f_id_firm, 
p.name as p_name 
FROM Firm f left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm 

WHERE 

f.name 
NOT IN (
SELECT DISTINCT TOP 20 
f.name FROM Firm f 
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm 
WHERE p.id_city='73041' AND p.include='1' AND p.blocked='0' AND f.blocked='0' AND p.id_group='44' AND p.id_subgroup='266' 
ORDER BY f.name ASC
) 
AND p.id_firm=f.id_firm AND p.id_city='73041' AND p.include='1' AND p.blocked='0' 
AND f.blocked='0' AND p.id_group='44' AND p.id_subgroup='266'
ORDER BY f.name ASC



ведь одинаковые наименования f_name будут учитываться как одно значение и результаты по первому и второму запросу будут разными...
как быть в таком случае?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236483
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7как быть в таком случае?
Не путать соленое и красное.
А пойти поизучать теорию работы с множествами.
А не придумывать ее самому.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236500
BlackRaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7SELECT DISTINCT f.name as f_name,
f.address as f_address,
f.business as f_business,
f.web as f_web,
f.phone as f_phone,
p.name as p_name
FROM Firm f
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm
WHERE p.include='1' ORDER BY f.name ASC

[/src]

Подскажите почему они отображаются результатах, тогда как есть SELECT DISTINCT f.name as f_name
в корне не верно, нет SELECT DISTINCT f.name as f_name а есть:
DISTINCT f.name as f_name,
f.address as f_address,
f.business as f_business,
f.web as f_web,
f.phone as f_phone,
p.name as p_name

Т.е. DISTINCT применяется ко всем полям select'a а не к полю которое идет после DISTINCT, так понятнее?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236507
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7как быть в таком случае?выполнить, наконец-то рекомендации
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236522
BlackRaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7
ведь одинаковые наименования f_name будут учитываться как одно значение и результаты по первому и второму запросу будут разными...
как быть в таком случае?
ясный перец что разные, запросы то разные.

2-ой похоже вообще ничего не вернет. (или я ошибаюсь!?)
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236530
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7ведь одинаковые наименования f_name будут учитываться как одно значение и результаты по первому и второму запросу будут разными...
как быть в таком случае?

вы до сих пор не обозначили нужный вам результат.
напишите пример исходных данных, результат для них и комментарий, почему именно так должно получиться
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236535
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlackRaider,

реально ошибаешься, проблема том, что при проверке NOT IN вернутся уникальные f.name, что приедет к потере данных при выборке, т.к. в таблице несколько строк с одинаковыми f.name

придется посидеть подумать...
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236538
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор топика, у вас системная ошибка. Вы мнесто того, чтобы понять ЧТО вам нужно, сразу решили КАК вы это будете делать. И эту парадигму пытаетесь навязать нам.

Вам надо сначала упорядочить в голове:
- что вы имеете
- что именно вы хотите буквально

То есть надо четко осозновать КАЖДОЕ слово в вашем хочу.

После этого прочитать основы составления запросов, и попробовать решить свою простую задачу.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236541
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shakill,

вопрос - как исключить потерю строк с одинаковыми f.name при постраничной выборке.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236549
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что такое ПОСТРАНИЧНАЯ ВЫБОРКА?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236554
BlackRaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7,
автор проблема том, что при проверке NOT IN вернутся уникальные f.name, что приедет к потере данных при выборке, т.к. в таблице несколько строк с одинаковыми f.name переведи!
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236557
BlackRaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпри постраничной выборке. и это тоже переведи.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236559
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7 !
Вообще желательно сначала прочитать Рекомендации по оформлению сообщений в форуме ... Особенно пункт 6.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236565
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7Shakill,

вопрос - как исключить потерю строк с одинаковыми f.name при постраничной выборке.
внезапно!
еще раз: покажите желаемый результат на примере данных. с комментариями.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236566
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть предполажение, что автор сам не понимает какая у него структура данных, и что ему нужно. Это основная проблема,а не то, как работает "дистинкт" и "(нот) ин"
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236573
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* предположение
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38236643
BlackRaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7Shakill,

вопрос - как исключить потерю строк с одинаковыми f.name.


из 1 поста авторчтобы выводились только уникальные значения f_name

Что то я вообще уже не вкурю что надо автору
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237198
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CammomileЕсть предполажение, что автор сам не понимает какая у него структура данных, и что ему нужно. Это основная проблема,а не то, как работает "дистинкт" и "(нот) ин"

вы не правы, я не стал бы спрашивать если бы сам не знал, что нужно.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237202
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я так понял примеров данных мы не дождемся
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237203
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7я не стал бы спрашивать если бы сам не знал, что нужно.
А зачем справшивать, если вы знаете, что вам нужно ?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237206
BlackRaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7
вы не правы, я не стал бы спрашивать если бы сам не знал, что нужно.

нас более внятно просветите?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237219
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОК, поясню подробнее.
Ввиду того, что строки уникальны(если брать се поля, а не только f_name), изменилось условие задачи.


1) запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT 
DISTINCT 
f.id_service as f_id_service,
 f.id_city as f_id_city, 
f.name as f_name, 
f.address as f_address, 
f.business as f_business, 
f.web as f_web, 
f.phone as f_phone, 
f.id_firm as f_id_firm, 
p.name as p_name 
FROM Firm f left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm


выводит таблицу со след данными:



2) для выборки по 20 строк, для получения строк 21-40 используется запрос:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
SELECT 
DISTINCT TOP 20 
f.id_service as f_id_service,
 f.id_city as f_id_city, 
f.name as f_name, 
f.address as f_address, 
f.business as f_business, 
f.web as f_web, 
f.phone as f_phone, 
f.id_firm as f_id_firm, 
p.name as p_name 
FROM Firm f left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm 

WHERE 

f.name 
NOT IN (
SELECT DISTINCT TOP 20 
f.name FROM Firm f 
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm 
WHERE p.id_city='73041' AND p.include='1' AND p.blocked='0' AND f.blocked='0' AND p.id_group='44' AND p.id_subgroup='266' 
ORDER BY f.name ASC
) 
AND p.id_firm=f.id_firm AND p.id_city='73041' AND p.include='1' AND p.blocked='0' 
AND f.blocked='0' AND p.id_group='44' AND p.id_subgroup='266'
ORDER BY f.name ASC



как видно из 2-го запроса, используется проверка на
Код: sql
1.
f.name


Однако, если посмотреть на скриншот, мы видим, что в столбце
Код: sql
1.
f_name

есть несколько одинаковых значений, из чего следует, что из всех строк с одинаковыми значениями
Код: sql
1.
f.name

при втором запросе, а именно в части второго запроса:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
WHERE 

f.name 
NOT IN (
SELECT DISTINCT TOP 20 
f.name FROM Firm f 
left join Price p on p.id_service=f.id_service AND p.id_city=f.id_city AND p.id_firm=f.id_firm 
WHERE p.id_city='73041' AND p.include='1' AND p.blocked='0' AND f.blocked='0' AND p.id_group='44' AND p.id_subgroup='266' 
ORDER BY f.name ASC
) 



будут выбираться только уникальные значения f.name, что в конечном результате приведет к потере строк, т.к. в таблице есть строки с одинаковыми f.name, но в целом строка уникальна(при учете всех столбцов).

На этот раз вроде бы все понятно объяснил, если есть какие-либо вопросы, постараюсь ответить.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237223
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7 На этот раз вроде бы все понятно объяснил
Если сто раз повторить "халва", то во рту слаще не станет.

Amateur7 если есть какие-либо вопросы, постараюсь ответить.
Не надо постить сто раз запрос, который выдает ненужный вам результат
Выполните пунтк 4 и 6, о чем вас просят уже давно.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237225
BlackRaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так вам надо просто выборку по 20 строк сделать чтоль?
те. с 1 по 20 дальше с 21 по 40 и т.д.?
правильно понял?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237268
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlackRaiderтак вам надо просто выборку по 20 строк сделать чтоль?
те. с 1 по 20 дальше с 21 по 40 и т.д.?
правильно понял?

да, только без потери строк
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237275
BlackRaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а теперь давай те вы нам скажете какой у вас север?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237277
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7BlackRaiderтак вам надо просто выборку по 20 строк сделать чтоль?
те. с 1 по 20 дальше с 21 по 40 и т.д.?
правильно понял?

да, только без потери строкИнтересно, как это можно сделать с потерей строк :-)

Вот в этом топике тоже есть постраничная выборка. И никаких потерь строк, хотя названия постов одинаковые: "Re: Проблема с выборкой уникальных значений"
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237299
BlackRaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgAmateur7пропущено...


да, только без потери строкИнтересно, как это можно сделать с потерей строк :-)

Вот в этом топике тоже есть постраничная выборка. И никаких потерь строк, хотя названия постов одинаковые: "Re: Проблема с выборкой уникальных значений"

Так, как предложил автор в одном из своих запросов с not in (хотя это совсем не то что надо автору, а именно почитать как тут уже советовали про distinct, TOP, и not in)

ПС. ждемс... версию сервера.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237431
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlackRaider,

сервер MSSQL SERVER 2008

про потерю строк - как видно из скриншота в таблице есть несколько строк с уникальным f_name.
когда происходит WHERE f.name NOT IN(...) , происходит выборка 20 уникальных f_name, а не 20 уникальных строк, как это происходит в первой запросе.
Таким образом в результате запроса из множества строк с одинаковым f_name, отображается только одна.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237438
samoxod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Amateur7, а чем не устраивает предложенное ранее решение 14214674 ?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237509
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
samoxodAmateur7, а чем не устраивает предложенное ранее решение 14214674 ?

не заметил, помогло, спасибо.
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237585
Фотография Knyazev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(с) "Чукча - не читатель, Чукча - писатель"
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237808
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Knyazev Alexey(с) "Чукча - не читатель, Чукча - писатель"

(с) "Следите за высказываниями, помогать никто не заставляет. "
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38237849
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amateur7Knyazev Alexey(с) "Чукча - не читатель, Чукча - писатель"

(с) "Следите за высказываниями, помогать никто не заставляет. "Смысл помогать, если вы большинство постов даже не прочитали?
...
Рейтинг: 0 / 0
Проблема с выборкой уникальных значений
    #38238341
Amateur7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvgAmateur7пропущено...


(с) "Следите за высказываниями, помогать никто не заставляет. "Смысл помогать, если вы большинство постов даже не прочитали?

вообще то пропустил только 1-2 ответа и то, только потому, что отвечал на другие вопросы по данной теме.
К тому же когда указали на данный ответ я его сразу прочитал и поблагодарил за ответ, а не проигнорировал подсказку, поэтому к чему излишек слов?
...
Рейтинг: 0 / 0
61 сообщений из 61, показаны все 3 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с выборкой уникальных значений
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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