前提・実現したいこと
SQLを覚えて間もない初心者です。
下記のようなイメージでサブクエリで検索した結果をもとに、betweenでさらに結果を絞り抽出したいです。
select * from テーブルA where 日にち between 20210501 and 20210601 in (select 日にち from テーブルA where 名前 = '太郎')
発生している問題・エラーメッセージ
構文エラーにより実現できておりません。 何か実現できるような書き方をご存じの方がいらっしゃいましたらどうぞよろしくお願いいたします。
追記
DB:MicrosoftSQLサーバー エラー文:キーワード 'between' 付近に不適切な構文があります。 テーブル名:table firstName:varchar(10) secondName:varchar(10) birthday:int(8) 実現したいこと: 1,まずfirstNameが"田中"で検索 2,次にbirthdayが20100101から20201231の間のもので絞り込み検索 上記の1,2を単純にANDでつないで検索することはできましたが、サブクエリなどを使って検索するやり方はあるのかと思い質問させていただきました。
想定のDBとバージョン
あと、起きているエラーを提示してください。
またテーブル定義も必要ですし、どういうデータを元にどういう結果にしたいのか具体的に記載してください。
SQLって方言(DB特有の書き方)があるので、何を使っているかは重要です。
DB:MicrosoftSQLサーバー
エラー文:キーワード 'between' 付近に不適切な構文があります。
テーブル名:table
firstName:varchar(10)
secondName:varchar(10)
birthday:int(8)
実現したいこと:
1,まずfirstNameが"田中"で検索
2,次にbirthdayが20100101から20201231の間のもので絞り込み検索
上記の1,2を単純にANDでつないで検索することはできましたが、サブクエリなどを使って検索するやり方はあるのかと思い質問させていただきました。
言葉足らずで申し訳ございません。
質問文に追記してください。
追記・修正依頼のコメントは通常は非表示なので、他のユーザーが見る際に分かりやすくなります。
テーブル定義は可能な限りcreate tableで。
コピペで質問者環境が作れるようご配慮願います。
大抵のツールでエクスポート機能があります。
サブクエリを使っての例題なら適当ではありませんね。
別なテーブルでの組合せの方が良いと思いますよ。
回答3件
あなたの回答
tips
プレビュー