SQLなら俺に訊け [無断転載禁止]©2ch.net (457レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
9: デフォルトの名無しさん [] 2017/08/30(水) 07:14:19.33 ID:FYBJnXXr(1) AAS
>>88(2): デフォルトの名無しさん [sage] 2017/08/26(土) 19:24:02.61 ID:DSilAr/A(1) AAS
foo_id, bar_id_list
"1", "1,2,3"
"2", "4,5"
"3", "6,7,8"
これを
foo_id, bar_id
"1", "1"
"1", "2"
"1", "3"
"2", "4"
"2", "5"
"3", "6"
"3", "7"
"3", "8"
こう変換するクエリって書ける?
なるべく標準がいいけどポスグレ依存でも可
お前は秘密の合言葉を言ってない。
「お願いします。どうか教えて下さい」
183: デフォルトの名無しさん [sage] 2022/06/29(水) 18:51:34.33 ID:IbvhvF4u(1) AAS
>>182情報が欲しいなら、お願いしてみれば?
338(2): デフォルトの名無しさん [sage] 2024/12/24(火) 09:46:38.33 ID:MemH7BuO(1) AAS
>>331331(3): デフォルトの名無しさん [sage] 2024/12/20(金) 16:41:43.73 ID:cA4MHukG(1) AAS
テーブルごと全てのカラムにまとめて別名付けるとかできないのかな
以下のような場合に別名付けるとき
テーブルA
id
name
description
テーブルB
id
name
description
select
A.id as A_id,
A.name as A_name,
A.description as A_description,
B.id as B_id,
B.name as B_name,
B.description as B_description
from
みたいに書かないといけないのを
A.* as A_*
みたいに書けたら便利なのに
すべてのカラムに最初からそういう名前をつけているよ
テーブルA
A_id
A_name
A_description
テーブルB
B_id
B_name
B_description
select
A_id,
A_name,
A_description,
B_id,
B_name,
B_description
from
とシンプルに書けて良いよ
390(1): デフォルトの名無しさん [sage] 2025/01/21(火) 11:15:04.33 ID:+xYYoS0+(1/2) AAS
>>389389(3): 警備員[Lv.5][新芽] [sage] 2025/01/21(火) 09:13:36.90 ID:X3sBvw4I(1) AAS
>>388
調べてみるとそうみたいなんだけど(主キーにはインデックスが張られる)、単一主キーだと、該当キーにRequired、Uniqueなインデックスが作成されるけど、複合主キーでは個々のフィールドに個別にはインデックスが作成されてなくて
それがどういうことか(インデックスが張られているか)分からなくて
分かりにくくてごめんね
DBの構成上、主キーであれば最低限1つのインデックスは張られる
それはPK1,PK2,PK3全部揃ったときにB木を辿れればいいだけなので、6(=3P3)通りのどれかだが、
何もなければ PK1->PK2->PK3 の1つのインデックスになる
この場合、PK1,PK2 のセットならインデックスが使えるが、今回のように PK2, Pk3 のセットだと使えない
これはクエリプランを見れば判断出来る
SQLiteだとこのケースでは上記の通り
というかCREATE INDEX時(CREATE TABLE時)に使われ方を予測する事は不可能なので、
DBとしては、記述通りPK1->PK2->PK3で一つ作るか、全組み合わせを作っておくかしか出来ない
よく使われる検索に対して自動的にインデックスを作成して高速化してくれるDBがあるのかもしれんが俺は知らん
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.027s