Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как избежать многократной выдачи рекодс / 13 сообщений из 13, страница 1 из 1
20.12.2004, 15:03:01
    #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
20.12.2004, 15:21:00
    #32835115
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как избежать многократной выдачи рекодс
Код: plaintext
1.
group by kom_nr
having count(*)= 1 
...
Рейтинг: 0 / 0
20.12.2004, 15:22:37
    #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
20.12.2004, 15:24:48
    #32835134
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как избежать многократной выдачи рекодс
select distinct
...
Рейтинг: 0 / 0
20.12.2004, 15:39:59
    #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
20.12.2004, 15:46:16
    #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
20.12.2004, 15:52:47
    #32835239
как избежать многократной выдачи рекодс
Рад, что смог помочь.

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

Удачи!

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

Вроде бы все легко, но потом всплывает другое условие...
...
Рейтинг: 0 / 0
20.12.2004, 17:30:34
    #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
20.12.2004, 17:31:53
    #32835545
avoda
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как избежать многократной выдачи рекодс
К тому же и постановка вопроса была, мягко выражаясь, слабенькая. Не удосужился автор правила почитать...


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


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