crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> SQLite, как сцепить данные в одном столбце при групировке других столбцов?
Litkevich Yuriy
  опции профиля:
сообщение 9.4.2009, 12:25
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Тут надобы новую тему создать, но я пока название не придумал, придумаю разделю.

Получилась уменя такая табличка:
"GroupName"    "FullName"    "RefDes"    "MountType"
"Конденсаторы"    "Конденсатор X7R - 0805 - 50 В - 0,01 мкФ ±10%"    "C19"    "SMD"
"Конденсаторы"    "Конденсатор X7R - 0805 - 50 В - 0,01 мкФ ±10%"    "C22"    "SMD"
"Конденсаторы"    "Конденсатор X7R - 0805 - 50 В - 0,01 мкФ ±10%"    "C23"    "SMD"
"Конденсаторы"    "Конденсатор X7R - 0805 - 50 В - 0,01 мкФ ±10%"    "C25"    "SMD"
"Конденсаторы"    "Конденсатор X7R - 0805 - 50 В - 0,01 мкФ ±10%"    "C26"    "SMD"
"Резисторы"    "Резистор 0805 - 1,2 кОм ±5%"    "R8"    "SMD"
"Резисторы"    "Резистор 0805 - 1,2 кОм ±5%"    "R10"    "SMD"
"Резисторы"    "Резистор 0805 - 1,2 кОм ±5%"    "R12"    "SMD"
"Резисторы"    "Резистор 0805 - 1,2 кОм ±5%"    "R17"    "SMD"
"Резисторы"    "Резистор 0805 - 10 Ом ±5%"    "R9"    "SMD"
"Резисторы"    "Резистор 0805 - 10 Ом ±5%"    "R11"    "SMD"
"Резисторы"    "Резистор 0805 - 10 Ом ±5%"    "R14"    "SMD"
"Резисторы"    "Резистор 0805 - 10 Ом ±5%"    "R15"    "SMD"
"Резисторы"    "Резистор 0805 - 100 Ом ±5%"    "R16"    "SMD"
"Резисторы"    "Резистор 0805 - 10 кОм ±5%"    "1R1"    "SMD"
"Резисторы"    "Резистор 0805 - 10 кОм ±5%"    "1R4"    "SMD"
"Резисторы"    "Резистор 0805 - 10 кОм ±5%"    "1R7"    "SMD"
"Резисторы"    "Резистор 0805 - 10 кОм ±5%"    "1R10"    "SMD"
"Резисторы"    "Резистор 0805 - 10 кОм ±5%"    "1R13"    "SMD"
"Резисторы"    "Резистор 0805 - 10 кОм ±5%"    "1R16"    "SMD"


можно ли составить запрос, чтобы получилось так:
"Конденсаторы"    "Конденсатор X7R - 0805 - 50 В - 0,01 мкФ ±10%"    "C19, C22, C23, C25, C26"    "SMD"
и т.д. , т.е. чтобы происходила групировка, а предпоследнее поле (отличающееся в группе) писалось в одну строку?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 9.4.2009, 15:31
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Ура я подобрал подходящее выражение:
SELECT
       GroupName ,
       FullName,
       group_concat(RefDes)
FROM output
    WHERE (GroupName IS NOT NULL) AND (GroupName <> '')
GROUP BY GroupName, FullName


Результат:
Конденсаторы    Конденсатор X7R - 0805 - 50 В - 0,01 мкФ ±10%    C2,C5,C6,C10,C11,C13,C14,C18,C19,C22,C23,C25,C26
Резисторы    Резистор 0805 - 1,2 кОм ±5%    R8,R10,R12,R17
Резисторы    Резистор 0805 - 10 Ом ±5%    R9,R11,R14,R15
Резисторы    Резистор 0805 - 10 кОм ±5%    1R1,1R4,1R7,1R10,1R13,1R16,1R19,1R22,1R25,1R28,1R31,R1,R2,R19,R20
Резисторы    Резистор 0805 - 100 Ом ±5%    R16
Резисторы    Резистор 0805 - 620 Ом ±5%    1R3,1R6,1R9,1R12,1R15,1R18,1R21,1R24,1R27,1R30,1R33
Резисторы    Резистор 1206 - 10 кОм ±5%    R6
Резисторы    Резистор 1206 - 100 Ом ±5%    R18


блин, а в Qt 4.3.5 не катит, говорит нет такой функции (group_concat)

Ещё какая-то странность:
Выборка осуществляется без проблем, однако, когда пытаюсь вставлять, то вставляются квадраты.
Делаю:
INSERT INTO output ( 
    GroupName,
    FullName,
    RefDes)
SELECT
       s.GroupName ,
       s.FullName,
       group_concat(s.RefDes)
FROM output1 s
    WHERE (s.GroupName IS NOT NULL) AND (s.GroupName <> '')
GROUP BY s.GroupName, s.FullName
Получаю:
Конденсаторы    Конденсатор X7R - 0805 - 50 В - 0,01 мкФ ±10%    ㉃䌬ⰵ㙃䌬〱䌬ㄱ䌬㌱䌬㐱䌬㠱䌬㤱䌬㈲䌬㌲䌬㔲䌬㘲
Резисторы    Резистор 0805 - 1,2 кОм ±5%    㡒刬〱刬㈱刬㜱
Резисторы    Резистор 0805 - 10 Ом ±5%    㥒刬ㄱ刬㐱刬㔱
Резисторы    Резистор 0805 - 10 кОм ±5%    刱ⰱ刱ⰴ刱ⰷ刱〱ㄬㅒⰳ刱㘱ㄬㅒⰹ刱㈲ㄬ㉒ⰵ刱㠲ㄬ㍒ⰱㅒ刬ⰲㅒⰹ㉒
Резисторы    Резистор 0805 - 100 Ом ±5%    ㅒ
Резисторы    Резистор 0805 - 620 Ом ±5%    刱ⰳ刱ⰶ刱ⰹ刱㈱ㄬㅒⰵ刱㠱ㄬ㉒ⰱ刱㐲ㄬ㉒ⰷ刱〳ㄬ㍒
Резисторы    Резистор 1206 - 10 кОм ±5%    㙒
Резисторы    Резистор 1206 - 100 Ом ±5%    ㅒ
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 9.4.2009, 16:14
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Полезность:
в Qt 4.5.0 всё зашибись, ни каких квадратов!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.4.2024, 9:38