powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как избежать многократной выдачи рекодс
13 сообщений из 13, страница 1 из 1
как избежать многократной выдачи рекодс
    #32835064
avoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имеем:

таблица с полями: ID, Kom_Nr, BArt_ID.
в ID генерируется уник. порядковый номер. К каждому номеру относяться уникальные Kom_Nr. Один Kom_Nr может иметь несколько ID, как например:

ID | Kom_Nr

12 K_12
13 K_12
14 K_12
15 K_23
...
...
...
123 K_41
124 K_41

итд.

требуется:

как выдать все Kom_Nr имеющиеся в таблице но только один раз, как например

12 К_12
15 К_23
123 К_41

есть идеи?

Спасибо!!!!
...
Рейтинг: 0 / 0
как избежать многократной выдачи рекодс
    #32835115
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
group by kom_nr
having count(*)= 1 
...
Рейтинг: 0 / 0
как избежать многократной выдачи рекодс
    #32835123
Код: plaintext
1.
2.
3.
SELECT Min(tblTable2.ID) AS [Min-ID], tblTable2.Kom_Nr
FROM tblTable2
GROUP BY tblTable2.Kom_Nr
ORDER BY Min(tblTable2.ID);

Попробуй так.
...
Рейтинг: 0 / 0
как избежать многократной выдачи рекодс
    #32835134
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select distinct
...
Рейтинг: 0 / 0
как избежать многократной выдачи рекодс
    #32835197
avoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT DISTINCT BewegungKopf.Bewegung_ID, BewegungKopf.Kom_Nr, StammArt.BArt
FROM StammArt INNER JOIN (BewegungKopf INNER JOIN Kundenstamm ON BewegungKopf.Kunde_ID = Kundenstamm.Kunde_ID) ON StammArt.BArt_ID = BewegungKopf.BArt_ID
GROUP BY BewegungKopf.Bewegung_ID, BewegungKopf.Kom_Nr, BewegungKopf.Dat, Kundenstamm.Name, StammArt.BArt;

не работает. Показывает все рекордс.

SELECT BewegungKopf.Bewegung_ID, BewegungKopf.Kom_Nr, StammArt.BArt
FROM StammArt INNER JOIN (BewegungKopf INNER JOIN Kundenstamm ON BewegungKopf.Kunde_ID = Kundenstamm.Kunde_ID) ON StammArt.BArt_ID = BewegungKopf.BArt_ID
GROUP BY BewegungKopf.Bewegung_ID, BewegungKopf.Kom_Nr, BewegungKopf.Dat, Kundenstamm.Name, StammArt.BArt
HAVING Count (Kom_Nr)=1;

тоже показывает ВСЕ рекордс.
...
Рейтинг: 0 / 0
как избежать многократной выдачи рекодс
    #32835217
avoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользователь2
Код: plaintext
1.
2.
3.
SELECT Min(tblTable2.ID) AS [Min-ID], tblTable2.Kom_Nr
FROM tblTable2
GROUP BY tblTable2.Kom_Nr
ORDER BY Min(tblTable2.ID);

Попробуй так.

работает!!!!!

Спасибо!!!
...
Рейтинг: 0 / 0
как избежать многократной выдачи рекодс
    #32835239
Рад, что смог помочь.

Удачи!
...
Рейтинг: 0 / 0
как избежать многократной выдачи рекодс
    #32835254
avoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользователь2Рад, что смог помочь.

Удачи!

работает.. но только с одной таблицей..а она у меня с джойном привязана.. никак я не разберусь в этом сиквеле...
...
Рейтинг: 0 / 0
как избежать многократной выдачи рекодс
    #32835353
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И не разберешься - задача не простая, хотя на вид кажется - раз плюнуть!
К тому же и постановка вопроса была, мягко выражаясь, слабенькая. Не удосужился автор правила почитать...
А проблема заключается в структуре таблиц. Мне кажется, что надо добавить табличку с уникальными значениями Kom_Nr и все вопросы отпадут сами собой.
...
Рейтинг: 0 / 0
как избежать многократной выдачи рекодс
    #32835512
Да, Дмитрий, ты прав.

Вроде бы все легко, но потом всплывает другое условие...
...
Рейтинг: 0 / 0
как избежать многократной выдачи рекодс
    #32835543
avoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получилось! Суть в том (слвава Богу понял) что нужно группировать поля, и потом результат каждого поля ограничивать функцией. Это работает.

SELECT BewegungKopf.Kom_Nr, Kundenstamm.Name, Max(BewegungKopf.Dat) AS Date, Last(StammArt.BArt) AS lastvalueBart
FROM (BewegungKopf INNER JOIN Kundenstamm ON BewegungKopf.Kunde_ID = Kundenstamm.Kunde_ID) INNER JOIN StammArt ON BewegungKopf.BArt_ID = StammArt.BArt_ID
GROUP BY BewegungKopf.Kom_Nr, Kundenstamm.Name;

Спасибо за советы и замечания!
...
Рейтинг: 0 / 0
как избежать многократной выдачи рекодс
    #32835545
avoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К тому же и постановка вопроса была, мягко выражаясь, слабенькая. Не удосужился автор правила почитать...


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


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