
No.3ベストアンサー
- 回答日時:
副問い合わせ という手法を使います。
若干質問の例とは変更して、
[TABLE_HOGE]
-------------
c1 c2
-------------
A B
D C
B A
C B
-------------
というテーブルの中から
『c1が'B'でかつ相互データが存在するもの』
を検索します。
ゴールは
[TABLE_HOGE]
-------------
c1 c2
-------------
A B ←目的レコードの相互データ(c1とc2が目的のレコードとは逆)
D C
B A ←目的のレコード
C B
-------------
だと思います。
/* ここSQL:1 */
select
*
from
TABLE_HOGE
where
c1 like 'B'
andc2 in (
/* ここから SQL:2 */
select
c1
from
TABLE_HOGE
where
c2 like 'B'
/* SQL:2 ここまで*/
);
SQL:2を単体で実行すると『c2が'B'であるデータのc1の値』を取得します。
結果は、元のテーブルの1行目(=A),4行目(=C)が返ってきますよね。
この取得した'A'と'C'を使って、SQL:1では「in」という方法を使って検索を行います。
「in (a,b,c,......)」は、「aまたはbまたはcまたは…にマッチする」という意味になります。
したがって、SQL:1をSQL:2の取得結果を元に書き直すと
select
*
from
HOGE_TABLE
where
c1 like 'B' /* c1が'B'で */
and (
c2 like 'A'
or c2 like 'C'
);
となり、2行目の[ B A ]行が返されます。
No.2
- 回答日時:
SELECT * FROM テーブル名
WHERE column1='A' and column2 !=''
これでいいのかな?
column1にAが入っていてcolumn2が空白ではないレコードを抽出しているんだけど・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3つ以上のテーブルをUNIONする...
-
テーブルのレコード削除ができ...
-
Accessにインポートしたら並び...
-
SQLデータ修正時に『このレコー...
-
2つの項目が重複するレコード...
-
Access 削除クエリが重い
-
ManagementStudioからのデータ削除
-
(ACCESS)並び替えをしないで...
-
MySQLでTIMESTAMP型の列から現...
-
ACCESS VBA コマンドDoCmd.Open...
-
C# Windows Forms で、Accessみ...
-
DB INSERT 時の排他制御について
-
ACCESSファイルを開こうとする...
-
ACCESSのBookmarkプロパティの...
-
ACCESSにて全項目(レポート)...
-
Accessでレコードが更新された...
-
SQLServerで同一条件レコードの...
-
フォームで1レコード削除したの...
-
Access カレントレコードがあり...
-
数百万件レコードのdelete
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
3つ以上のテーブルをUNIONする...
-
Accessにインポートしたら並び...
-
データの二重表示の原因
-
ACCESSのBookmarkプロパティの...
-
Access 削除クエリが重い
-
Access VBA Me.Requery レコー...
-
Access 1レコードずつcsvで出力...
-
2つの項目が重複するレコード...
-
数百万件レコードのdelete
-
SQLデータ修正時に『このレコー...
-
複数レコードをUPDATE文一文で...
-
SQLServerで同一条件レコードの...
-
Accessの重複クエリで最小以外...
-
Accessでレコードが更新された...
-
(ACCESS)並び替えをしないで...
-
テーブルのレコード削除ができ...
-
Accessで重複したデータを一件...
-
MySQL+PHP 特定レコードの更新...
-
曜日を格納する方法はどちらが...
-
ManagementStudioからのデータ削除
おすすめ情報