powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Пожалуйста требуется помощь (преобразование строк в поля)!!!
12 сообщений из 12, страница 1 из 1
Пожалуйста требуется помощь (преобразование строк в поля)!!!
    #40044541
Alekx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет !
Подскажите пожалуйста решение следующей задачи (давненько не работал в Access):
Есть таблица (Таб1):

id Name
11 AAA
11 AAA
11 AAA
22 AAA
22 BBB
35 CCC
35 CCC
44 XXX
44 RRR
44 AAA

Как получить результат:

id Name1 Name2 Name3
11 AAA
22 AAA BBB
35 CCC
44 XXX RRR AAA
...
Рейтинг: 0 / 0
Пожалуйста требуется помощь (преобразование строк в поля)!!!
    #40044543
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alekx,
а каков критерий ??
Я,лично, не увидел какой-либо закономерности
да и поле под названием ID обычно ключ/уникально а строеа "ААА" есть со значением ID и11 и22. Все непонятно,однако
...
Рейтинг: 0 / 0
Пожалуйста требуется помощь (преобразование строк в поля)!!!
    #40044545
Alekx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, строки надо разложить на поля (столбики) Name1, Name1, Name3....Name...
...
Рейтинг: 0 / 0
Пожалуйста требуется помощь (преобразование строк в поля)!!!
    #40044573
Alekx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alekx, может так будет понятней

Articul Name11 без цвета22 красный22 белый35 черный35 белый44 синий44 желтый44 красный55 без цвета

Как получить вот такой результат:
Articul Name1 Name2 Name311 без цвета 22 красный белый 35 черный белый 44 синий желтый красный55 без цвета
...
Рейтинг: 0 / 0
Пожалуйста требуется помощь (преобразование строк в поля)!!!
    #40044591
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alekx
Articul Name11 без цвета22 красный22 белый35 черный35 белый44 синий44 желтый44 красный55 без цвета
нужно уникальное поле
...
Рейтинг: 0 / 0
Пожалуйста требуется помощь (преобразование строк в поля)!!!
    #40044596
Alekx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург, допустим уникальное поле будет - id
...
Рейтинг: 0 / 0
Пожалуйста требуется помощь (преобразование строк в поля)!!!
    #40044600
Alekx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alekx,

id Articul Name1 11 без цвета2 22 красный3 22 белый4 35 черный5 35 белый6 44 синий7 44 желтый8 44 красный9 55 без цвета
...
Рейтинг: 0 / 0
Пожалуйста требуется помощь (преобразование строк в поля)!!!
    #40044609
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alekx
допустим уникальное поле будет - id
можно создать уникальное поле. но с готовым было бы удобней и меньше на один запрос.
запрос q0 (создаём уникальное поле)
Код: sql
1.
2.
SELECT Articul, Name, Articul & Name AS unicf
FROM Таб1;


ну и перекрёстный
Код: sql
1.
2.
3.
4.
5.
TRANSFORM First(Name) AS fff
SELECT Articul
FROM (SELECT 'Name' & DCount("Articul","q0","Articul=" & q0.Articul & " AND unicf<='" & q0.unicf & "'") AS ff, q0.Name, q0.Articul FROM q0)  AS q
GROUP BY Articul
PIVOT ff;


...
Рейтинг: 0 / 0
Пожалуйста требуется помощь (преобразование строк в поля)!!!
    #40044623
Alekx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,
Ура !!! Работает !!! Большое спасибо !!!
А как быть если значение Articul - текстовое? не
могу разобраться с кавычками
...
Рейтинг: 0 / 0
Пожалуйста требуется помощь (преобразование строк в поля)!!!
    #40044628
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alekx
могу разобраться с кавычками

Ну рядом же видно:
Код: sql
1.
... " AND unicf<='" & q0.unicf & "'")


Точно так же:
Код: sql
1.
... "Articul='" & q0.Articul & "' AND ...


И всё вместе:
Код: sql
1.
2.
3.
4.
5.
6.
TRANSFORM First(Name) AS fff
SELECT Articul
FROM (SELECT 'Name' & DCount("Articul","q0","Articul='" & q0.Articul & 
     "' AND unicf<='" & q0.unicf & "'") AS ff, q0.Name, q0.Articul FROM q0)  AS q
GROUP BY Articul
PIVOT ff;
...
Рейтинг: 0 / 0
Пожалуйста требуется помощь (преобразование строк в поля)!!!
    #40044631
Alekx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene-LS, Панург

БОЛЬШОЕ СПАСИБО !!!
...
Рейтинг: 0 / 0
Пожалуйста требуется помощь (преобразование строк в поля)!!!
    #40044704
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alekx, с утра подумав (вечером как-то не ага), переписал, т.к поле Name в группе объектов с одинаковым Articul уникально.
Код: sql
1.
2.
3.
4.
5.
TRANSFORM First(q1.Name) AS fff
SELECT q1.Articul
FROM (SELECT 'Name' & DCount("Articul","Таб1","Articul='" & [Таб1].Articul & "' AND Name<='" & [Таб1].Name & "'") AS ff, [Таб1].Name, [Таб1].Articul FROM Таб1)  AS q1
GROUP BY q1.Articul
PIVOT q1.ff;
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Пожалуйста требуется помощь (преобразование строк в поля)!!!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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