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

Php 如何在单行中连接同一表中的多行,php,mysql,Php,Mysql,我有这个疑问。另外,请查找下表模式 我必须将同一个表中包含的两行合并为一行。它们包含类型“PRI”和“SEC”。但条件是,对于一个用户,它将包含两行,而对于另一个用户,它将只包含一行 请帮忙, 谢谢 您必须指定列名称@PeterLang OP需要返回一行列为ca1+ca2的结果集。“将只包含一个”看起来像是左连接而不是连接。它位于当前要求的上方。。。它将只包含一个,我的意思是这两个中的任何一个都会出现。不,伙计,这是错误的。你在我想要的中看到我的查询响应了吗?它将不包含和ca1.ca_typ

我有这个疑问。另外,请查找下表模式

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

请帮忙, 谢谢


您必须指定列名称

@PeterLang OP需要返回一行列为
ca1
+
ca2
的结果集。“将只包含一个”看起来像是
左连接
而不是
连接
。它位于当前要求的上方。。。它将只包含一个,我的意思是这两个中的任何一个都会出现。不,伙计,这是错误的。你在我想要的中看到我的查询响应了吗?它将不包含
和ca1.ca_type='PRI'和ca2.ca_type='SEC'
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'
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'