プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。

クエリAとBがあり、それぞれのクエリでは製品コードの先頭6文字(製品コード先頭6文字: Left([マスター]![製品コード],6))の昇順で並び替えしてます。
個々のクエリでは問題なく並び替えされるのですが、この二つのクエリをユニオンクエリで結合するとエラーとなってしまいます。

『ORDER BY 式 (Left([マスター]![製品コード],6))にクエリに選択されていないフィールドが含まれています。ORDER BY 式 (Left([マスター]![製品コード],6))に含めることができるのは、最初のクエリで要求されたフィールドだけです。』

となります。

調べたところ、『ユニオン クエリで使用されるテーブルにおいて、1 つ以上のフィールド名を変更した場合に発生します。 』ということでした。
http://support.microsoft.com/kb/282322/ja

確かに、それぞれのクエリでフィールド名を変更しているのですが・・・このような場合、どのようにすればうまく結合できるのでしょうか。それとも不可能なのでしょうか。。

以上、よろしくお願い致します。

A 回答 (1件)

SELECT 標準コード.ID, 標準コード.地域コード, Left([地域コード],2) AS ひだり


FROM 標準コード
union all
SELECT 標準コード.ID, 標準コード.地域コード, Left([地域コード],2) AS ひだり
FROM 標準コード
ORDER BY Left([地域コード],2);
ならエラーになりますが
これを
ORDER BY Left([地域コード],2);

ORDER BY ひだり;
ならエラーにはなりませんでした。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!
また、お返事が遅くなってしまい申し訳ございません。

当該フィールドを並び替えすると、ORDER BY Left([マスター]![製品コード],6) となりますが、ここを単純に ORDER BY 製品コード先頭6文字 というようにフィールド名を指定することにうまくいきました。

・・・って、後追いになってしまいましたが、nicotinismさまのご回答通りです。

ありがとうございました。

お礼日時:2012/12/06 18:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A