powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выбрать записи, которые соответсвуют уникальным записям другого поля
25 сообщений из 28, страница 1 из 2
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372409
VicN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно выбрать только те записи из поля Fields2, у которых есть записи в поле Fields1 (а эти записи должны быть в единичном в виде).
Пример
Fields1 Fields2 Fields3а аа аааб аб ааб ас абвг аа ккк аб ссса ас иии
Как видно из примера, уникальных записей в Fields1 три, соответственно и выборка записей из поля Fields2 тоже должно быть три.

Мой запрос выводит почему то больше трех записей
Код: sql
1.
SELECT Fields2 FROM Table1 WHERE Fields1 IN (SELECT Fields1 FROM Table1 GROUP BY Fields1 HAVING Fields1 is NOT NULL)
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372414
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VicN,

попробуйте без вложенного запроса, - просто в условие отбора поля Fields2 вставьте
Like "*" & [Fields1] & "*"
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372427
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
SELECT First(Fields2) FROM Table1 WHERE Fields1 Is Not Null GROUP BY Fields1
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372454
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

В вашем случае наверно будет лишняя строка
г - аа - ккк (г не null, но в аа не входит),
НО про Null в Like я у себя не подумал...
вот так наверно будет правильный результат:
Код: sql
1.
2.
3.
SELECT Table1.Fields1, Table1.Fields2, Table1.Fields3
FROM Table1
WHERE (((Table1.Fields1) Is Not Null) AND ((Table1.Fields2) Like "*" & [Fields1] & "*"))
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372465
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

не не мой день... я вообще не туда... проблема в том, что ТС не дал таблицу результата,
из условия не ясно что делать с первой и последней строкой...
Вы вроде на правильном пути, но у вас в результате будет 4 строки, а не 3 как хочет ТС...
А какие 3 строки он хочет в результат - не уточнил...
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372477
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VicNКак видно из примера, уникальных записей в Fields1 три, соответственно и выборка записей из поля Fields2 тоже должно быть три.До тех пор, пока не сформулировано, какую из строк с одинаковым значением Field1 следует вернуть и почему, разговаривать особо и не о чем... потому как именно поставленной задаче вполне соответствует запрос
Код: vbnet
1.
2.
3.
SELECT MAX(Fields2)
FROM Table1 
GROUP BY Fields1


Можно взять любую другую подходящую групповую функцию.
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372482
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag,

Нет, у меня будет не четыре строки, а три.
В силу того, что
Код: sql
1.
...WHERE Fields1 Is Not Null... 

и
Код: sql
1.
...GROUP BY Fields1...

То есть, отсекаются записи с пустыми Fields1,
и группировка отбирает уникальные значения среди непустых.
А таких значений, как мы видим, три.
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372483
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaVicNКак видно из примера, уникальных записей в Fields1 три, соответственно и выборка записей из поля Fields2 тоже должно быть три.До тех пор, пока не сформулировано, какую из строк с одинаковым значением Field1 следует вернуть и почему, разговаривать особо и не о чем...
потому как именно поставленной задаче вполне соответствует запрос
Код: vbnet
1.
2.
3.
SELECT MAX(Fields2)
FROM Table1 
GROUP BY Fields1


Можно взять любую другую подходящую групповую функцию.Только не учтено Fields1 Is Not Null.

А про возникающую неопределенность выбора одного из возможных значений не стала писать,
хотя поначалу и собиралась. Но с планшета это делать так нудно...
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372484
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

Прошу прощения, не поленился, набрал, формально у Вас самый правильный ответ, а это замечание

AkinaДо тех пор, пока не сформулировано, какую из строк с одинаковым значением Field1 следует вернуть и почему, разговаривать особо и не о чем...

уже идет на откуп ТС у...
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372485
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag,
vmagуже идет на откуп ТС у...  Для начала хорошо бы ТС научиться различать "запись" и "значение поля".)))
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372525
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__MichelleТолько не учтено Fields1 Is Not Null.
Не стал дописывать WHERE по причине некоторой очевидности. Как по мне, так вообще вывод field2 без соответствующего ему field1 уже странен - ну получил ты данные, а о чём они?
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372591
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Студенты . . . .
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372598
VicN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторКак по мне, так вообще вывод field2 без соответствующего ему field1 уже странен - ну получил ты данные, а о чём они?
авторА какие 3 строки он хочет в результат - не уточнил...
Вы правы. Извините за оплошность, сейчас все уточню

Я хочу получить такой результат
Fields1 Fields2а ааб абг аа
Зачем мне это надо? Я хочу вывести эти поля в отдельные таблицы (это я уже как бы сделал), а затем связать их внешним ключом. Но для этого мне нужно понять как вывести вот эту пару полей.

И да, действительно, при запросе
Код: sql
1.
SELECT First(Fields2) FROM Table1 WHERE Fields1 Is Not Null GROUP BY Fields1


выводится лишняя строка

Прикрепляю пример моей бд
Там запрос "ВыборкаПоляОбозначение" выводит все значения (в единичном экземпляре) поля Обозначение (он же Fields1) таблицы Перечень. Их там 2011. При запросе выше выводятся 2012.

В общем, мне нужно вывести пару полей (Обозначение - это Fields1 и Наименование - Fields2) таблицы Перечень
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372600
VicN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372607
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VicN,

Если выводится лишняя запись, значит "пустое" значение в Fields1 не Null, а пустая строка, то есть "".
Измените условие отбора.
Код: sql
1.
WHERE Fields1 <> ""

И все.
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372612
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Базу не смотрела.
Я в дороге.
Но и так все ясно.
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372614
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183Студенты . . . .

самое интересное, что эти самые студенты потом попадают в разработку и поддержку всякого рода (в том числе и федеральных) ресурсов... егаисы, гисы, еиасы, еаисы, еасузы и прочее, которые то никак не могут сдать в эксплуатацию по нескольку лет и даже федеральные законы отодвигают по нескольку раз на пол года, то работа состоит из сплошных глюков и траблов... тут уже два исхода - либо нужно учить их совместно хотя бы тут, либо отлавливать и сразу пристреливать...
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372623
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VicNИ да, действительно, при запросе
Код: sql
1.
SELECT First(Fields2) FROM Table1 WHERE Fields1 Is Not Null GROUP BY Fields1



выводится лишняя строка

Мишель вам правильно сказала на счет не NULL, а еще вы запросто (судя по типажу) могли половину букв а (например) набрать русским шрифтом, а половину - английским (а a - нет отличия визуально) , выше есть файл 3.mdb в нем есть запрос "Мишель" включите в нем показ Fields1 и увидите свой результат...
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372624
VicN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__MichelleVicN,

Если выводится лишняя запись, значит "пустое" значение в Fields1 не Null, а пустая строка, то есть "".
Измените условие отбора.
Код: sql
1.
WHERE Fields1 <> ""

И все.
Действительно, все так и было. Огромное вам спасибо
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372631
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag...нужно учить их совместно хотя бы тут... Ну, не знаю...
"Научить нельзя, можно научиться."
Просто многие в последнее время "пошли в программисты" по какому-то общему поветрию,
а их призвание, возможно, совсем в другом.
Но то ли информации о многих других профессиях мало, то ли перспективы с последующим
устройством различны...
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372758
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VicNЯ хочу получить такой результат
Fields1 Fields2а ааб абг аа
Объясните, почему в первой строке эталонного ответа именно эта запись, почему не устроит ответ
Fields1 Fields2а асб абг аа
?
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39372868
VicN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaVicNЯ хочу получить такой результат
Fields1 Fields2а ааб абг аа
Объясните, почему в первой строке эталонного ответа именно эта запись, почему не устроит ответ
Fields1 Fields2а асб абг аа
?
Что то я не совсем понял ваш вопрос?
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39373084
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что непонятного? в первой строке Вашего эталонного ответа выбрано значение поля Fields2="аа", а я показываю вариант, где Fields2="ас". Вот я и прошу объяснить, какие резоны заставили Вас выбрать именно это значение. А заодно либо сформулировать чёткое правило, по которому любой выберет именно "аа", либо в явной форме сказать, что Вам пофиг, какое из значений будет в итоговой выборке.
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39373258
VicN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, понял что вы имеете ввиду. Вы про первую и последнюю строчку моего примера. Моя ошибка или не внимательность при составлении примера таблицы. По идее, одно значение в поле Fields2 может иметь несколько значений в поле Fields1. Так что, в строчке
а ас иии
просто ошибка.
...
Рейтинг: 0 / 0
Выбрать записи, которые соответсвуют уникальным записям другого поля
    #39373291
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VicNПо идее, одно значение в поле Fields2 может иметь несколько значений в поле Fields1.Алё, товарисч! что с тобой? у тебя и в исходном примере КАЖДОМУ уникальному значению поля Fields2 соответствует по 2 значения поля Fields1.
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выбрать записи, которые соответсвуют уникальным записям другого поля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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