powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
22 сообщений из 22, страница 1 из 1
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32561755
AndreEj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то меня как то заклинило
Я точно знаю что это делается но не могу ссообразить как

Есть таблица:

Поле1! Поле2
раз! Андрей
два!Андрей
три! Андрей
два! Виктор
четыре! Виктор
раз! Пиктор
два! Пиктор
четыре! Пиктор

Надо сделать выборку чтоб показывались
Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз

ВОТ и ВСЕ
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32561762
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select * from tbl where Поле1 <> раз!
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32561775
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например так:

Код: plaintext
1.
2.
Select DistinctRow [Поле2] as [Имя]
From tbl1
Where [Поле2] Not In (Select [Поле2] From tbl1 Where [Поле1] = 'раз')
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32561776
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vsevolod Vselect * from tbl where Поле1 <> раз!

select * from tbl where Поле1 Is Null or Поле1 = ""
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32561781
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соврал .... :(
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32561804
AndreEj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И мы получаем обратно все записи в которых нет данного поля
Поле1!Поле2!
два! андрей
три! андрей

и т.д.
----------------
ВОТ и ВСЕ
----------------
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32561814
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так:

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

И еще - ва тут уже наотвечали - вы бы хоть попробовали, что вам посоветовали
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32561823
AndreEj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В данном случае должно получится:
Поле2
Виктор
----------------
ВОТ и ВСЕ
----------------
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32561824
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select * from tbl where nz(Поле1 , "")=""
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32561853
AndreEj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roma Rselect * from tbl where nz(Поле1 , "")=""
А что должно означать nz
MS Query говорит неопределенная функция nz в выражении
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32562244
AndreEj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
paparomeНапример так:

Код: plaintext
1.
2.
Select DistinctRow [Поле2] as [Имя]
From tbl1
Where [Поле2] Not In (Select [Поле2] From tbl1 Where [Поле1] = 'раз')


Да так на самом деле работает единственное что показать надо только имя, а не имя со всем его списком
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32562250
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДа так на самом деле работает единственное что показать надо только имя, а не имя со всем его списком

Не понял - с каким списком?
Я только имя и показываю - или нет?
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32562258
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо DistinctRow просто Distinct
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32562267
AndreEj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
Select DistinctRow [Поле2] as [Имя]
From tbl1
Where [Поле2] Not In (Select [Поле2] From tbl1 Where [Поле1] = 'раз')
Group By [Поле2]

Не знаю правильно так или нет но сработало

Спасибо всем
----------------
ВОТ и ВСЕ
----------------
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32562277
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roma RВместо DistinctRow просто Distinct

О блин и правда :(
Никогда бы не подумал :(

А что тогда этот DistinctRow, вообще, дает?
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32562291
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Distinct сравнивает только выбранные поля в таблице, а DistinctRow - все
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32562292
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to paparome:
существуют ситуации, когда нужно выбрать строки, которые отличаются друг от друга во всех полях. Вместо того, чтобы перечислять все эти поля и использовать Distinct?можно воспользоваться DISTINCTROW.
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32562294
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roma RDistinct сравнивает только выбранные поля в таблице, а DistinctRow - все
Это я понял :( (правда поздно)
Я не понял - нафиг он тогда нужет (ведь в таблице всегда есть уникальный ключ)
И не понятно его поведение при выборке из нескольких таблиц :(
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32562326
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DISTINCT Исключает записи, которые содержат повторяющиеся значения в отобранных полях. Чтобы запись была включена в результат выполнения запроса, значения в каждом поле, включенном в инструкцию SELECT, должны быть уникальными. Например, в таблице "Сотрудники" есть однофамильцы. Если две записи содержат значение "Иванов" в поле "Фамилия", то следующая инструкция SQL возвратит только одну из них:

SELECT DISTINCT
Фамилия
FROM Сотрудники;

Если опустить предикат DISTINCT, этот запрос возвратит обе записи об Иванове.Если предложение SELECT содержит более одного поля, то для включения записи в результат выполнения запроса необходимо, чтобы совокупность значений во всех этих полях была уникальной.Результат выполнения инструкции SQL, содержащей предикат DISTINCT, не является обновляемым и не отражает последующие изменения, внесенные другими пользователями.

DISTINCTROW Опускает данные, основанные на целиком повторяющихся записях, а не отдельных повторяющихся полях. Например, создан запрос, объединяющий таблицы "Клиенты" и "Заказы" по полю "Клиент". В поле "Клиент" таблицы "Клиенты" нет повторяющихся значений, однако, они есть в одноименном поле таблицы "Заказы", поскольку каждый клиент может разместить несколько заказов. Следующая инструкция SQL показывает, как можно использовать предикат DISTINCTROW для получения списка клиентов, разместивших хотя бы один заказ, не содержащего никаких сведений о самих заказах:
SELECT DISTINCTROW Название
FROM Клиенты INNER JOIN Заказы
ON Клиенты.Клиент = Заказы.Клиент
ORDER BY Название;

Если опустить предикат DISTINCTROW, в результат выполнения запроса будет включено несколько строк о каждом клиенте, сделавшем несколько заказов.Предикат DISTINCTROW влияет на результат только в том случае, если в запрос включены не все поля из анализируемых таблиц. Предикат DISTINCTROW игнорируется, если запрос содержит только одну таблицу или все поля всех таблиц.
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32562337
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так - одно понял :)

Забивать надо на эти Distinct и DistinctRow и писать все через группировки - тогда хотя бы будет понятно, что должен запрос вернуть :)
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32562448
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
select t.fld2
from
  (select distinct fld2  from MyTable ) as t 
left join
  (select  name from Mytable where fld1= 1 ) as t2
on t.fld2=t2.fld2
where t2.fld2 is null
...
Рейтинг: 0 / 0
Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
    #32562820
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(c)VIG
Код: plaintext
1.
2.
3.
4.
5.
6.
select t.fld2
from
  (select distinct fld2  from MyTable ) as t 
left join
  (select  name from Mytable where fld1= 1 ) as t2
on t.fld2=t2.fld2
where t2.fld2 is null


Это точно Акс?
Уж больно на MSSQL похоже :)

Да и еще у подзапроса t2 нет поля fld2 :(

А так - идея ясна :)
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Глупее вопроса быть не может (Только те (в данном случае имена) у кого в Поле1 НЕТ записи раз)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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