繁体   English   中英

如何在同一行中连接同一张表中的多行

[英]How to join multiple rows from same table in single row

我有这个查询。 还请找到以下表架构

http://sqlfiddle.com/#!2/36d20/14

SELECT
  ca1.*,
  ca2.*
FROM Contact_Address AS ca1
  JOIN Contact_Address AS ca2
    ON ca1.ca_contact_id = ca2.ca_contact_id
WHERE ca1.ca_contact_id = 1
    AND ca1.ca_type = 'PRI'
    AND ca2.ca_type = 'SEC'

我必须将同一表中包含的两行合并为单行。它们包含类型'PRI','SEC',但条件是对于一个用户它将包含两行,而对于另一个用户将仅包含一行。

请帮忙,谢谢

SELECT
  ca1.ca_contact_id as ci1,ca1.ca_type as type1,
  ca2.ca_contact_id as ci2, ca2.ca_type as type2
FROM Contact_Address AS ca1
  JOIN Contact_Address AS ca2
    ON ca1.ca_contact_id = ca2.ca_contact_id
WHERE ca1.ca_contact_id = 1
    AND ca1.ca_type = 'PRI'
    AND ca2.ca_type = 'SEC'

SqlFiddle

您必须指定您的列名

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM