фильтровать столбцы и объединять строки - PullRequest
0 голосов
/ 29 мая 2020

У меня есть доступ к набору данных. Я хочу использовать таблицу запросов или написать запрос в программе доступа.

Customer Name + ID               Salesperson Number             Ship To State
32 ONTAR INC ** X6458                M  
32 ONTAR INC ** X6458                G                         ON
2-Z  INC ** C5228                    H                         FL
2-Z  INC ** C5228                    A                         FL
4SITE ESTATE ** F4685                H                         CA
A & A CONCRETE INC ** A6785          N                         NJ

Я хочу иметь уникальное имя клиента + идентификатор, а во втором и третьем столбцах я хочу иметь информацию о слиянии, как в таблице ниже.

Customer Name + ID               Salesperson Number             Ship To State
32 ONTAR INC ** X6458                M,G                           ON
2-Z INC ** C5228                     H,A                           FL
4SITE ESTATE ** F4685                  H                           CA
A & A CONCRETE INC ** A6785            N                           NJ

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 12 июня 2020

У вас на самом деле нет поля с названием «Имя клиента + идентификатор»? Это совершенно неверно. Кроме того, зачем вам это делать? Это нарушает нормальную форму и снижает целостность данных. Если вы действительно настаиваете на таких вещах, я полагаю, вы справитесь. Опять же, я бы не рекомендовал это делать.

До:

enter image description here

После:

enter image description here

enter image description here

SQL:

ВЫБРАТЬ tblData.ID, Con c ("Поле1", " ID ", [ID]," tblData ") КАК Поле1, Con c (" Поле2 "," ID ", [ID]," tblData ") КАК Поле2 ИЗ tblData ГРУППА ПО tblData.ID;

Или вы можете использовать UDF, чтобы сделать эту работу за вас.

Option Compare Database

Function ConcatenateName( _
  LastName As Variant, _
  FirstName As Variant, _
  MiddleName As Variant, _
  Title As Variant _
) As String

ConcatenateName = LastName & _
    (", " + FirstName) & _
    (" " + MiddleName) & _
    (", " + Title)

End Function

enter image description here

SQL:

SELECT Table1. *, ConcatenateName ([Last], [First], [Middle], [Title]) AS Concatenation FROM Table1;

Перед:

enter image description here

После:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...