Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Пожалуйста требуется помощь (преобразование строк в поля)!!! / 12 сообщений из 12, страница 1 из 1
11.02.2021, 17:47
    #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
11.02.2021, 17:52
    #40044543
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пожалуйста требуется помощь (преобразование строк в поля)!!!
Alekx,
а каков критерий ??
Я,лично, не увидел какой-либо закономерности
да и поле под названием ID обычно ключ/уникально а строеа "ААА" есть со значением ID и11 и22. Все непонятно,однако
...
Рейтинг: 0 / 0
11.02.2021, 17:56
    #40044545
Alekx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пожалуйста требуется помощь (преобразование строк в поля)!!!
sdku, строки надо разложить на поля (столбики) Name1, Name1, Name3....Name...
...
Рейтинг: 0 / 0
11.02.2021, 18:36
    #40044573
Alekx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пожалуйста требуется помощь (преобразование строк в поля)!!!
Alekx, может так будет понятней

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

Как получить вот такой результат:
Articul Name1 Name2 Name311 без цвета 22 красный белый 35 черный белый 44 синий желтый красный55 без цвета
...
Рейтинг: 0 / 0
11.02.2021, 19:13
    #40044591
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пожалуйста требуется помощь (преобразование строк в поля)!!!
Alekx
Articul Name11 без цвета22 красный22 белый35 черный35 белый44 синий44 желтый44 красный55 без цвета
нужно уникальное поле
...
Рейтинг: 0 / 0
11.02.2021, 19:21
    #40044596
Alekx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пожалуйста требуется помощь (преобразование строк в поля)!!!
Панург, допустим уникальное поле будет - id
...
Рейтинг: 0 / 0
11.02.2021, 19:29
    #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
11.02.2021, 19:39
    #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
11.02.2021, 20:30
    #40044623
Alekx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пожалуйста требуется помощь (преобразование строк в поля)!!!
Панург,
Ура !!! Работает !!! Большое спасибо !!!
А как быть если значение Articul - текстовое? не
могу разобраться с кавычками
...
Рейтинг: 0 / 0
11.02.2021, 20:42
    #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
11.02.2021, 20:58
    #40044631
Alekx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пожалуйста требуется помощь (преобразование строк в поля)!!!
Eugene-LS, Панург

БОЛЬШОЕ СПАСИБО !!!
...
Рейтинг: 0 / 0
12.02.2021, 04:50
    #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
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Пожалуйста требуется помощь (преобразование строк в поля)!!! / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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