人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SELECT * FROM ((SELECT * FROM TABLE1 WHERE 地区='日本') AS NIHON INNER Join (SELECT * FROM TABLE1 WHERE 地区='アメリカ') AS AMERICA ON (NIHON.CODE = AMERICA.CODE) AND (NIHON.PRICE = AMERICA.PRICE) ) INNER JOIN (SELECT * FROM TABLE1 WHERE 地区='フランス') AS FRANCE ON NIHON.CODE = FRANCE.CODE AND NIHON.PRICE = FRANCE.PRICE

TABLE1にはCODE,PRICE,地区といったフィールドがあります。

上記のSQLがあります。まず地区に日本、アメリカ、フランスが出てきます。この3地域以外出てくることはありません。この3地域全てのCODE、PRICEが同じであればデータを抽出してくるといったSQLにしたいです。

※各CODE,PRICEには必ず地区が設定されています。例えばCODE:001の地区が日本、アメリカしかなかったとします。001のフランスがなかった場合は抽出しません。


●質問者: akaired
●カテゴリ:コンピュータ インターネット
✍キーワード:AS ca. ON SELECT SQL
○ 状態 :終了
└ 回答数 : 1/2件

▽最新の回答へ

1 ● kn1967
●60ポイント

可能性の1つとしては、

CODE あるいは PRICE のデータ型が文字型になっていることが考えられます。


Excelは「数値に直せるデータは自動的に数値として認識」します。

Accessは「テキスト型はテキスト型のまま認識」します。

この違いによって、データの先頭もしくは末尾に空白文字が含まれていた場合、

それぞれ違った挙動を示すようになるからなのですが、まずは、

先頭もしくは末尾に空白が混じっているデータを探してみてください。

SELECT * FROM TABLE1
WHERE (CODE LIKE " *") OR (CODE LIKE "* ") OR (PRICE LIKE " *") OR (PRICE LIKE "* ")
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ