0

3 つの異なるテーブルから一連の列を返すクエリを作成しようとしています。

他の 2 つのテーブルをリンクするテーブルは Table_A と呼ばれ、他の 2 つのテーブルのキーが含まれています。2 番目のテーブルは Table_B と呼ばれ、最後のテーブルは Table_C と呼ばれます。

Table_A 列。

| | a_ID (主キー)| b_ID (外部キー)| c_ID (外部キー)| ..... |

Table_B 列

|b_ID (主キー)| b1 | b2 | …… |

Table_C 列

| | c_ID (主キー) | c1 | c2 | …… |

これは以下の私の SQL クエリです。(各表にはさらに多くの列がありますが、上記の列にのみ関心があります。)

SELECT b.b_ID
     , b.b1
     , b.b2
     , a.a_ID
     , c.c1
     , c.c2 
FROM Table_A AS a 
    JOIN Table_B AS b ON a.b_ID = b.b_ID
    JOIN Table_C AS c ON a.c_ID = c.c_ID

プロジェクトにオープンオフィスを使用していますが、エラーは次のとおりです

「ステートメントにテーブルが見つかりません [ SELECT b.b_ID , b.b1 , b.b2 , a.a_ID , c.c1 , c.c2 FROM Table_A AS a JOIN Table_B AS b ON a.b_ID = b.b_ID JOIN Table_C AS c ON a.c_ID = c.c_ID]"

何らかの理由で、すべての列 ( * ) を取得するためだけに select ステートメントを変更すると、正しい結果が返されますが、クエリにリストされている列に絞り込む必要があります。*

SELECT *
FROM Table_A AS a 
    JOIN Table_B AS b ON a.b_ID = b.b_ID
    JOIN Table_C AS c ON a.c_ID = c.c_ID'

編集:問題を解決するためにストーリーを理解する必要がないように、実際のテーブルと列の名前を削除しました。

4

1 に答える 1

0

あなたの WHERE 句は次のようにしてはいけません:

WHERE b.eventStartDate > '2013-10-01'

?

これは「違いを見つける」タイプの質問です...

于 2013-04-29T12:21:55.547 に答える