

お世話になります。
以下のSQL文のイメージでselectの結果をさらにselectしたいのですが”subquery has too many columns”というエラーを吐かれます。
Postgreに合った書き方がお分かりでしたら教えてください。
よろしくお願いします。
select *
from [DB名]
where [パスワード] = 'test'
IN ( select * from [DB名] where [ユーザID]='1111' order by [更新日] desc limit 3)
[やりたいこと]
テストDBからユーザIDが1111の行を更新日をキーに降順で並べ、先頭から3行分を取り出す。
その3行からパスワードが"test"のものをselectしたい。
No.1ベストアンサー
- 回答日時:
select *
from ( select * from [DB名] where [ユーザID]='1111' order by [更新日] desc limit 3)
where [パスワード] = 'test'
って感じでしょうか。
手元にテスト環境が無いので未検証です。
No.2
- 回答日時:
No.1さんの回答でいいと思いますが、記載のSQLのおかしい点を。
IN条件を使うなら、
項目 IN (値のリスト)
という感じです。
記載のSQLであれば、
select *
from [DB名]
where [パスワード] = 'test'
and [更新日] IN (select [更新日] from [DB名] where [ユーザID]='1111' order by [更新日] desc limit 3);
となると思います。
まぁ、これでは[やりたいこと]には合わないのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL Date型の列から年月だけを...
-
postgreSQLで更新後のデータを...
-
フィルターかけた後、重複を除...
-
SELECT 文 GROUP での1件目を...
-
外部参照してるキーを主キーに...
-
差し込み後、元データを変更し...
-
SQLで特定の項目の重複のみを排...
-
SQLで列名を変数にできないでし...
-
エクセルで最後の文字だけ置き...
-
Outlook 送受信エラー
-
エクセルの関数について教えて...
-
SQLServerで文字列の末尾からあ...
-
カーソル0件の時にエラーを発生...
-
datetime型でNULL値を入れたい。
-
for whichの使い方
-
INSERT文でフィールドの1つだ...
-
Access:クエリーにて集計後に...
-
[MySQL] UNIQUE制約の値を更新...
-
access2021 VBA メソッドまたは...
-
列番号による項目の取得について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL Date型の列から年月だけを...
-
select文の書き方「半角カナ+...
-
Select結果をSelect
-
postgreSQLで更新後のデータを...
-
抽出結果を分割して取得
-
レコード件数のちょうど半分をe...
-
text型のデータをintegerにキャ...
-
クエリの短縮化及び高速化について
-
数字の表示が一部欠ける
-
SQL文の中に引用符を入れたい
-
取得行数の指定
-
年月でdistinctしたい(PostgreSQL)
-
PL/pgSQLの返り値の取得方法に...
-
お世話になっています。SQLに...
-
2回目のselect文
-
フィルターかけた後、重複を除...
-
差し込み後、元データを変更し...
-
外部参照してるキーを主キーに...
-
エクセルで最後の文字だけ置き...
-
SQLで特定の項目の重複のみを排...
おすすめ情報