
ただいま、postgresを使用して開発中です。
そこで、下記のようなSQL文を書いているのですが、
できれば、多次元配列の「b.code」の記述順で表示したいのですが、
下記のSQL文を実行すると「a.code」の記述順で表示されます。
どのようなSQL文に変更すればよろしいでしょうか?
SQL:
select a.name as aname , b.name as bname from atable a, btable b where a.code = any(b.code[1:1]);
atable
code | neme
--------------
2 | AAA
1 | BBB
btable
code | name
----------------------
{{1,2},{3,0}} | DDD
『現在の結果』
aname bname
---------------
AAA | DDD
BBB | DDD
『得たい結果』
aname bname
---------------
BBB | DDD
AAA | DDD
長くなりましたが、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
何をやりたいのか、説明及び提示データが少なくて、分かりづらいです。
>できれば、多次元配列の「b.code」の記述順で表示したいのですが、
>下記のSQL文を実行すると「a.code」の記述順で表示されます。
認識に誤りがあります。
データ量が少ない、削除をまったく行っていないといった要因で、「a.code」の記述順のように見えているだけです。実際には、どういう順序で検索されるかは、order by指定がないので、RDBMS側では保証していません。
配列を使う目的は、何でしょうか?
PostgreSQLのマニュアルでも、配列は使用せず、別の表とした方がいいと書かれています。
order by b.code[1:1]
を追加すれば、現状の提示された範囲のデータでは、期待の動きになるようです。ただ、もっと多様なデータが格納されていた場合、どういった結果になるのを期待しているのか、提示内容だけでは判断できません。
ご回答ありがとうございます。
>PostgreSQLのマニュアルでも、配列は使用せず、別の表とした方がいいと書かれています。
今回PostgreSQLを使用するのが初めてで、あまり意識せず配列を使ってしまっていました。
配列を使用しない方法でもう一度考えて見ます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SUBSTR関数の結果が予想と異なる
-
ストアドプロシジャで配列
-
末尾の全角スペースの削除
-
差し込み後、元データを変更し...
-
フィルターかけた後、重複を除...
-
誰か教えてください
-
列番号による項目の取得について
-
PL/SQLのエラー処理について
-
エクセルで最後の文字だけ置き...
-
System.Timers.Timer について
-
[WHS]定数宣言の際にリテラル文...
-
先ほどの続きです。問題4、5を...
-
エクセルに見えない文字(JISX0...
-
複数テーブルのGROUP BY の使い...
-
jQueryで、カラム幅を変更でき...
-
EXISTSを使ったDELETE文
-
mysqlについて
-
identity属性の列に自動採番(SQL)
-
エクセルVBA ユーザーフォーム...
-
IDの欠番
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スペースを検索したい
-
あいまい検索で英文字の全角半...
-
末尾の全角スペースの削除
-
顧客データベースを作る場合、...
-
ストアドの戻り値で配列を返す方法
-
select文のwhere句に配列を入れ...
-
SQLServer2005のストアドプロシ...
-
WHERE条件の最終桁のスペースに...
-
MYSQL 右埋め 半角スペース
-
外部結合で取得した項目にNVL関数
-
SQL SERVER 2005 にて全テーブ...
-
管理工学研究所のデーターベー...
-
Oracleのスペース文字について。
-
INSERT文などの列名などの半角...
-
SUBSTR関数の結果が予想と異なる
-
ORACLEの「DECODE」と同じ意味...
-
Trimの使い方
-
1つのテキストボックスに入力...
-
DTSパッケージについて
-
簡単なクエリーの高速化
おすすめ情報