专业表有很多列FIRST_NAME,MIDDLE_NAME,姓氏,TITLE_CODE,COMMUNICATION_TYPE_CODE,COMMUNICATION_VALUESQL SELECT从一列和输出SQL重复值的多个列
PROFESSIONAL Table
COMMUNICATION_TYPE_CODE column
Telephone
Telephone
Fax
Fax
E-mail
E-mail
Cellular
Cellular
COMMUNICATION_VALUE column
224-256-5689
547-568-5642
254-565-4526
524-465-6542
[email protected]
[email protected]
562-564-7854
654-452-6897
这仅仅是一个样品。有500,00记录,像这样COMMUNICATION_TYPE_CODE和COMMUNICATION_VALUE列
Telephone = PHONE1
Cellular = PHONE2
E-mail = EMAIL1
Fax = FAX1
SELECT 'IMD Data Source' as DATA_SOURCE,
FIRST_NAME as FIRST_NM,
MIDDLE_NAME as MIDDLE_NM,
LAST_NAME as LAST_NM,
TITLE_CODE as CREDENTIALS,
PHONE1,
PHONE2,
EMAIL1,
FAX1,
FROM DLA_PROFESSIONAL_A
I already mapped the FIRST_NAME,MIDDLE_NAME, LAST_NAME, TITLE_CODE to target columns in my select statement so dont worry about that. I am having problems mapping PHONE1,PHONE2,EMAIL1,FAX1
我要挑出来的通信值列数据(电话号码,电子邮件,传真,蜂窝)当交际类型代码是(电话,传真,电子邮件,蜂窝)
这具有去4个独立COLUMNS(当COMMUNICATION_TYPE_CODE =“电话”我需要从柱拉COMMUNICATION_VALUE数据和其映射到 PHONE1列输出,当COMMUNICATION_TYPE_CODE ='蜂窝'我需要从列中提取COMMUNICATION_VALUE数据,并将其映射到 PHONE2列的输出中,当COMMUNICATION_TYPE_CODE ='电子邮件'我需要从柱拉COMMUNICATION_VALUE数据和其映射到在输出 EMAIL1柱,当COMMUNICATION_TYPE_CODE =“传真”我需要从柱拉COMMUNICATION_VALUE数据和其映射到在输出 EMAIL1列)
I have the separate sequels I dont know how to put it in to the original select statement.
SELECT DISTINCT COMMUNICATION_VALUE FROM DG_SP_NP.DLA_PROFESSIONAL_A WHERE COMMUNICATION_TYPE_CODE='Telephone'
SELECT DISTINCT COMMUNICATION_VALUE FROM DG_SP_NP.DLA_PROFESSIONAL_A WHERE COMMUNICATION_TYPE_CODE='Cellular'
SELECT DISTINCT COMMUNICATION_VALUE FROM DG_SP_NP.DLA_PROFESSIONAL_A WHERE COMMUNICATION_TYPE_CODE='E-mail'
SELECT DISTINCT COMMUNICATION_VALUE FROM DG_SP_NP.DLA_PROFESSIONAL_A WHERE COMMUNICATION_TYPE_CODE='Fax'
我想要做这样的事情。这不是4个输出的正确的sql,但你明白了。
SELECT 'IMD Data Source' DATA_SOURCE,
FIRST_NAME as FIRST_NM,
MIDDLE_NAME as MIDDLE_NM,
LAST_NAME as LAST_NM,
TITLE_CODE as CREDENTIALS,
SELECT DISTINCT COMMUNICATION_VALUE FROM PROFESSIONAL WHERE COMMUNICATION_TYPE_CODE='Telephone' as PHONE1,
SELECT DISTINCT COMMUNICATION_VALUE FROM PROFESSIONAL WHERE COMMUNICATION_TYPE_CODE='Cellular' as PHONE2,
SELECT DISTINCT COMMUNICATION_VALUE FROM PROFESSIONAL WHERE COMMUNICATION_TYPE_CODE='E-mail' as EMAIL1,
SELECT DISTINCT COMMUNICATION_VALUE FROM PROFESSIONAL WHERE COMMUNICATION_TYPE_CODE='Fax' as FAX1,
FROM PROFESSIONAL
所有数据都在一个表(专业人士)
您能向我们展示实际的CREATE TABLE语句来澄清表结构吗? – bluevector
忘了其他一切。只需要担心 COMMUNICATION_TYPE_CODE和COMMUNICATION_VALUE列......我已经将FIRST_NAME,MIDDLE_NAME,LAST_NAME,TITLE_CODE映射到我的select语句中的目标列,所以不用担心这一点。我有问题映射电话1,电话2,电子邮件1,传真1 – oracledba
此外,您可以告诉我们你期望输出的样子。 –