0

2つのテーブルから選択しようとしています。ただし、テーブルBIでは、テーブルAから値を取得する必要があります。

簡単にするためにこれを単純化していますが、最終結果は非常に複雑なクエリであり、これが問題を引き起こしている唯一の部分です。

この例では、2つのテーブルを使用しています。1つはメンバー用、もう1つはリンク先のメンバーシップ用です。

コードは次のとおりです。

   SELECT member.id member.name, member.email .membership.type, membership.status FROM
    (
        (SELECT * FROM tbl_members) AS member,
        (SELECT * FROM tbl_memberships WHERE tbl_memberships.memberid = member.id) AS membership
    )

問題は、2番目のselectクエリではmember.idにアクセスできないため、可能であれば、2番目のクエリで最初のクエリの情報にアクセスするにはどうすればよいかということです。それが不可能な場合、結合は複数の列を返すことができないことを念頭に置いて、他のオプションは何ですか。

4

2 に答える 2

2

ただし、結合は複数の列を返す可能性があります。

SELECT  *
FROM    tbl_members m
JOIN    tbl_memberships ms
ON      ms.memberid = m.id
于 2013-03-21T12:39:13.463 に答える
0

joinがtbl_membersからすべての列を返さない場合は、左結合を使用しないのはなぜですか。

SELECT  *
FROM    tbl_members 
Left JOIN    tbl_memberships 
ON      tbl_memberships.memberid = tbl_members.id
于 2013-03-21T12:59:14.297 に答える