0

次のテーブルがあります。

A          B
id | a |   id | b
--------   -------
1  | . |   1  | 1
--------   -------
2  | . |   1  | 2
--------   -------
3  | . |   2  | 1
           -------
           2  | 2

B.id は、A.id を参照する外部キーです。A.id、Aa、Bb を表示したいのですが、テーブル A の列は、A.id を参照するテーブル B の最初の行とのみ結合する必要があります。また、テーブル B に対応する行がないテーブル A から行を選択したいので、結果は次のようになります。

A.id | A.a | B.b
----------------
  1  |  .  |  1 
----------------
  2  |  .  |  1
----------------
  3  |  .  |

助けてくれてありがとう。

4

2 に答える 2

1

GROUP BYandLEFT JOIN句を使用するだけです。

SELECT A.id, A.a, B.b
FROM A
LEFT JOIN B ON B.id = A.id
GROUP BY A.id
ORDER BY A.id ASC
于 2013-05-30T15:38:22.223 に答える
0

これを試して -:

SELECT A.id, A.a, B.b
FROM A
LEFT JOIN (
            SELECT b1.id, b1.b
            FROM B b1, B b2
            WHERE b1.b < b2.b
          )B
ON A.id = B.id
GROUP BY A.id
ORDER BY A.id asc
于 2013-05-30T16:19:06.903 に答える