【誰もいないから】インメモリDBを作ろう【今のうち】 (30レス)
【誰もいないから】インメモリDBを作ろう【今のうち】 http://toro.open2ch.net/test/read.cgi/db/1396865687/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
15: 名無しさん@おーぷん [] 2014/07/09(水)20:39:20 ID:naIqrL5h5 joinができました。 joinにはinner join,left join, right join,outer joinとかがあります。 DBによってはfull outer joinがなかったり方言があるんですね。知らなかった。 さて普通にjoinと書くとinner joinが呼ばれるようです、多分。2つのDBをある 条件で接続したときに対応するレコードがあるレコードだけを取得するのがinner joinです。 同様に左側全レコードに対応する要素があれば転記するのがleft join, 右側全レコードに対応する要素があれば転記するのがright joinです。 まずは普通のjoinを作ります。 前にwhereで作ったルーチンを流用して2つのDBについて条件値が合致すれば2つのDBから 転記するように作ります。転記はmemmoveにて実装されてるようなのでそれなりに早いはず。 比較にコストがかかってるためにカラム番号から比較する実体を引き渡すように変更。 早く小さくなりました。 商品と生産者を商品IDでjoinさせてみました。まあなんとなく出ています。 tbl1->Join(tbl2,"商品tbl.商品ID","=","生産者tbl.商品ID"); 商品tbl.商品ID|商品tbl.商品名|商品tbl.区分ID|商品tbl.価格|生産者tbl.商品ID|生産者tbl.名前|生産者tbl.TEL 1|りんご|1|300|1|佐藤|012-345-6789 2|みかん|1|130|2|鈴木|012-345-6788 3|キャベツ|2|200|3|武田|012-345-6787 ここで今まで作った関数は全てどこに入れてもOKです。selectしてからjoinしてもjoinしてから selectしても問題ありません。このまま作ってSQLから関数呼び出しに変更するときに 色々考慮すればいいのだなぁという感じです。 次はorder by等やります。ソースは http://ideone.com/d82jLE http://toro.open2ch.net/test/read.cgi/db/1396865687/15
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 15 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.001s