|
■No15831 (クリトパス さん) に返信 > selete key1.hontai,key2.hontai from testtable1 as 1 inner join testtable2 as 2 on 1.key1 = 2.key and 1.key2 = key
key1ってテーブル名(またはテーブル別名)がありませんね。key1とかkey2は列名ですよね。
一度に考えずに少し分解して考えてみてください。あとテーブル別名に数字は使えますが人が読むとくときに間違えやすいので避けましょう。
> key1とkey で結合させ hontaiを出したい SELECT testtable2.hontai FROM testtable1 INNER JOIN testtable2 ON testtable1.key1=testtable2.key
> key2とkey で結合させ hontaiを出したい SELECT testtable2.hontai FROM testtable1 INNER JOIN testtable2 ON testtable1.key2=testtable2.key
この2つを同時に出したいってことですよね。 その場合、1つのtesttable1に対して、testtable2はkey1で内部結合するtesttable2とkey2で内部結合するtesttable2の実質2つ必要です。 同一SQL文で同じ名前で実質2つは無理ですから、テーブル別名としてtbl1とtbl2をつけてみてください。
ところで、同時に出すときですが、key1とkey2は同じ列のものを使うのでしょうか。 その場合の例としては次のような感じになります(INNER JOINを使う記述への変更はご自身でチャレンジしてみてください)。 SELECT tbl1.hontai,tbl2.hontai FROM testtable1,testtable2 tbl1,testtable2 tbl2 WHERE testtable1.key1=tbl1.key AND testtable1.key2_tbl2.key
|