1

以前の質問 subqueries-on-subqueriesから

私は今、これをアクセスに入れようとしています

コードはリンクの回答 1 からのもので、部分文字列 (citycode,2) ではなく left(citycode,2) を配置することを除いて、正確にコピーして貼り付けます。

これを実行しようとすると、構文エラーが発生します。

最初は結合操作の構文エラーでした

いくつかの調査を行い、コードを変更しました。次に、サポートされていない JOIN 式が来ました

この記事を読みました「JOIN式がサポートされていません」というエラーは、文字列条件を含む括弧なしのJOIN式が原因です

そして今、クエリ式 'province = x.provincecode and customers.city = x.citycode where category like 'SC' の Syntax error (missing operator) に絞り込まれたと思います

これですべて SQL で動作します。私のデータベースは.mdbであるため、アクセスで使用する必要があります。出力は 1 行だけである必要があります。 ここに画像の説明を入力

自分の発言のどこに誤りがあるのか​​わからない

SELECT * from (SELECT * from City  where Provincecode like 'EC' and citycode in 
(select citycode from city  where left(citycode,2) not like 'bx')) 
as x inner join customers on (province = x.provincecode and
customers.city=x.citycode where category like 'SC')

前述したように、これは SQL で機能し、コードは 1 行で済みます。しかし、アクセスに関しては、それは間違っています

4

3 に答える 3

0

2 番目の句を適用するために市のテーブルで最初のサブ選択を実行する理由がわかりません。何かを見落としている可能性がありますが、このクエリで十分ですか。

SELECT A.*
FROM City As A, Customers As B
WHERE A.Provincecode like 'EC*'
AND Left(A.citycode, 2) not like 'bx*'
AND B.category like 'SC*'
AND B.province = A.provincecode
AND B.city = A.citycode
于 2013-06-18T07:40:50.463 に答える
0

以下をクエリとして保存します: SELECT * from City where Provincecode like 'EC' and citycode in (select citycode from city where left(citycode,2) not like 'bx')

次に、最初のクエリを顧客テーブルに結合する 2 番目のクエリを作成します。

ところで: LIKE を使用する場合は、* や ? などのワイルドカード文字を使用する必要があります。

于 2013-06-18T07:12:40.347 に答える