교회 회원들의 큰 목록을 처리하여 편지를 보내고 있습니다. 우리는 편지에 "친애하는 John & Jane Smith"를 말하고 싶다. Word를 사용하여 Excel 시트에서 편지 병합을 수행합니다. 중요한 것은 남성 이름이 항상 먼저 나와야한다는 것입니다.처음에 올 열 지정하기
각 개인은 내가 사용하고있는 테이블에 자신의 행이 있습니다. 그들은 가족 ID뿐만 아니라 고유 한 ID를 가지고 있습니다. 저는 그 가족 ID를 사용하여 가족을 같은 줄에 모으고 있습니다. 현재 나는 어디로 가는지 명시하기 위해 남성 이름과 여성 이름을 MAX(CASE WHEN)
으로 구분했습니다. 다음과 같이 보입니다.
+-----------+------------+--------------------------+
| family id | male name | female name | last name |
+-----------+------------+--------------------------+
| 1234 | john | jane | doe |
| 1235 | bob | cindy | smith |
| 1236 | NULL | susan | jones |
| 1237 | jim | NULL | taylor |
+-----------+------------+--------------------------+
그러나 가족 구성원이 하나만있을 때 문제가 발생합니다.
이SELECT
fm.family_id AS 'Family ID',
MAX(CASE WHEN PB.gender like 'm' and FM.role_luid=29 THEN PB.nick_name END)
AS 'Male Name',
MAX(CASE WHEN PB.gender like 'f' and FM.role_luid=29 THEN PB.nick_name END)
AS 'Female Name',
PB.last_name AS 'Last Name',
FROM core_family F
내가 그런 STUFF
또는 무언가를 사용하여 행을 결합해야한다고 생각하지만, 내가하는 열 지정의 방법이 필요 거라고 그렇게 먼저 : 여기
+-----------+--------------+-----------+
| family id | First name | last name |
+-----------+--------------+-----------+
| 1234 | john & jane | doe |
| 1235 | bob & cindy | smith |
| 1236 | susan | jones |
| 1237 | jim | taylor |
+-----------+--------------+-----------+
완벽한! 이것은 내가 필요로했던 것과 똑같다. 나는 임시 테이블이나 뭔가가 필요할 것이라고 생각했지만, '+'그리고 각 컬럼을 다시 사용하는 것을 생각하지 않았습니다. 다음은 임시 테이블에 대한 쿼리의 결과입니다. SELECT 병합 (ml.male + '&'+ ml.female, male, female) AS '이름', ml. [성], ml . 스트리트, ml.City, ml.State, ml. [우편 번호] 발신 번호 : DROP TABLE # ML' –