1

このクエリがあります。また、テーブル スキーマについては以下を参照してください

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'

同じテーブルに含まれる 2 つの行を 1 つの行に結合する必要があります。これらの行には、タイプ 'PRI'、'SEC' が含まれます。しかし、条件は、あるユーザーには両方の行が含まれ、別のユーザーには 1 つだけが含まれることです。

助けてください、ありがとう

4

1 に答える 1

0
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

列名を指定する必要があります

于 2013-06-26T06:13:50.650 に答える