952 :
950 :2006/10/05(木) 00:55:24 ID:???
>>951 いあ、昔読んだ話でピタゴラスだか何だかが子供の頃に
思いついたアルゴリズムって事で覚えてただけなんよ…。
自分で思いついたんならえらいんだけどね('A`;)
ガウスだろ
954 :
950 :2006/10/05(木) 02:02:58 ID:???
>>953 おおう。確かにwikipediaでガウス調べたら書いてたよー。
誰だったか思い出せなくて気持ちわるかってん。ありんこ('A`)ノ
ちゅうか高校数学1じゃないのか?
PostgreSQLなのですが、 ・あるテーブルtable_aが存在していないとき、table_aの作成と初期データの INSERTを行なう ・table_aがすでに存在するときは、table_aの作成と初期データのINSERTを 行なわない(初期データのINSERTをスキップする) といったことを実現するにはどのように記述すればいいのでしょうか。
>>956 なんでそんなことを、、、というのはともかく
PL/pgSQLを使えばできるかな?
SQLの範囲外なのでPosqgreSQLのスレで聞いてね
>955 小学校のときの「たのしいさんすう」って算数のノートに載ってたよ。
>>956 pg_tables だったか、そういう名前のシステムテーブルをselectしてtable_aの存在確認を行うといい。
960 :
NAME IS NULL :2006/10/06(金) 21:13:06 ID:bDRzLVyV
すまんおしえてくれ。 テキストボックスが4つくらいあってその中に文字入れて DBから抽出したいんだが。 WHERE〜ANDで結ぶとテキストボックスに全部入力値がないと 抽出できないじゃん。 空欄のテキストボックスはスルーして入力された単語のみで 抽出するにはどうすればいいの。。。
世にある検索の複数指定の多くがラジオボタンとかプルダウンってところから 察しろって気がするが。
962 :
674 :2006/10/06(金) 21:55:20 ID:???
VBAでそういうの作ったけど、SQLと全然関係ないじゃん。 まぁSQLステートメントの部分がって無理やりなら言えなくも無いけど。
963 :
NAME IS NULL :2006/10/06(金) 22:05:43 ID:bDRzLVyV
>>961 なるほど、自分で入力した文字列だと
確実じゃないしね。確かに言われてみるとプルダウンとかが多いですね。
いくら調べてもわからなくて。
やはりDBから、元から値を取得して選ばせたほうがいいのかな。
それでも複数テキストボックスから抽出ってできるんでしょうか?
SQLにテキストボックスなんてないぞ いったいなんの話をしておるのだ
環境がわからんから答えにくいんだが、WEBアプリとかだと テキストボックスに検索条件をユーザーに入力させるのは セキュリティ上かなり、アレなんだが・・・。 出来る出来ないの話しなら、そりゃ動的にSQL生成するか、 非常に無駄っぽいサブクエリがテキストボックスの分だけ 走る様に組んどけば可能だろう。
IF テキストボックス1.TEXT <> "" THEN SQL = SQL & " AND 項目1 = " & テキストボックス1.TEXT ENDIF IF テキストボックス2.TEXT <> "" THEN SQL = SQL & " AND 項目2 = " & テキストボックス2.TEXT ENDIF VBなんて10年ぶりだ。
てかMySQLじゃ動かねえなこれ 理屈は(unknown AND age < 20) is not falseはたしかになるほど
>>964 すみません、Webアプリかにあるテキストボックスです。
>>965 セキュリティー上では良くなのですか?
勉強になります。
>>966 それをクリックイベントのところに記述するんですね!
項目っていうのは列名ですよね。
やってみます。
>>967 それはわたくし当てですか?
見てみます。
質問です。 状況によって特定のカラムだけ欲しい場合と、ほぼ全てのカラム(の情報)が欲しい 場合があると思います。このとき、selectに指定するカラムの数によって実行速度や DB負荷などはどの程度違うものなのでしょうか? 1.) select foo from hoge; 2.) select foo, bar, baz, quux from hoge; (あるいは select * from hoge;) もちろんテーブル構造やDB規模によって異なってくるとは思いますが、指定した カラム数によってDBの動きがどうなるのかが知りたいのです。 数が少ないほどメモリの消費量が少ないとか、転送量が減るとか、あるいは テーブルのデータはメモリ上に載るのでカラム数が増えてもあまり気にするほどの 差はでないとかそういう感じで。。。
>>971 そんなことよりインデクスが効いてるかどうかの方が重要
200倍くらい速度が違う場合もある
>>971 そりゃ 出たviewのトータルバイト数が少ない方が、
全てにおいてメリットばかりっすわ。
逆にデメリットはないんじゃないの。プログラマの手間増えるぐらいか。
974 :
NAME IS NULL :2006/10/08(日) 06:59:08 ID:1t6iDKSI
ここで質問してる人は実は仕事で行き詰ってる人?
そりゃそうだろう、他に何の用途がある
>975 パズル好き
答えてるのはほぼ間違いなく暇人だがな
質問させてください。 Windows 2000 に SQL Server 2000 をインストールして使っていました。 OSのホスト名を変更したのですが、SQL Server に昔のホスト名が残ってしまいます。 (レジストリを検索しましたが、ヒットしませんでした。) SQL Server は、ホスト名をどこで管理しているのでしょうか? また、変更するにはどうすればよいのでしょうか?
>>978 つ Microsoft SQL Server 総合スレ 4
MySqlが多いみたいだが仕事で使うのか?暇人は同意。
981 :
978 :2006/10/08(日) 19:04:37 ID:???
>>979 そちらで質問させてもらいました。
誘導ありがとうございます。
ウチのサーバはMySQL。でも何故か3.0
素敵やん
SQLとはちょっと違うのだが一つ質問。 プロセス間通信のかわりにデータベースをメッセージパッシングのためのキューとして使うのってなんか問題あるのかな? アプリ同士のメッセージ交換にActiveMQとかCORBAを使わずに簡単にできる方法としていいのかなと思うのだが。 そもそもデータベースってシステム内のスケールがものすごく広いグローバル変数だよな?
>>984 AS/400(今はiSeriesか)でも使っとけ。
システム(OS)がDB以外にもDTAQ,OUTQ,MSGQ,SYSLOG等の
数々のキューが用意されている。
DB使うのは悪くはないと思うけどプロセスの数が増えて
メッセージの応答やらセマフォとか考え出すと、
自前でDB部に対してコーティングするのが
ウザくなってくるので、メッセージキューなんかはOSまかせに
した方がプログラミングが楽だ罠。
986 :
984 :2006/10/09(月) 14:55:26 ID:???
>>984 ×スケール
○スコープ
..................................org
987 :
NAME IS NULL :2006/10/10(火) 02:50:06 ID:0dcODXjr
下記の条件で商品数を集計したいと考えています。 しかし、原価のフィールドがNULLの場合、3つ全ての条件にヒット しないため集計対象となりません。 原価フィールドにNVL関数を使用すると集計できますが、 もっといい方法がないでしょうか? 「NOT」の使用方法に問題があるのでしょうか? 商品A.原価=100円 商品B.上記以外 かつ 原価=1円以上 かつ 売値=300円 商品C.上記以外 商品A>商品B>商品C(商品A、商品B以外の全て) SELECT SUM(CASE WHEN 原価 = 100 THEN 1 ELSE 0 END) AS 商品A, SUM(CASE WHEN (原価 > 1 AND 売値 = 300) AND NOT 原価 = 100 THEN 1 ELSE 0 END) AS 商品_B, SUM(CASE WHEN NOT (原価 > 1 AND 売値 = 300) AND NOT 原価 = 100 THEN 1 ELSE 0 END) AS 商品C FROM 商品管理表
988 :
987 :2006/10/10(火) 03:09:06 ID:0dcODXjr
>>987 の質問に関連して
下記条件では原価がNULLのレコードが
ヒットできませんでした。
WHERE NOT 原価 = 100
下記条件だとヒットします。
WHERE NOT NVL(原価,0) = 100
データがNULLの際には特別な扱いが必要なのでしょうか?
989 :
NAME IS NULL :2006/10/10(火) 03:12:16 ID:wLuxOSg2
>>987 T−SQL、PL/SQLなら、
AND ISNULL(原価, 0) <> 100
DB2なら、
AND IFNULL(原価, 0) <> 100
考え方はいいね。こういう部下なら教えても意味がある。OTZ
990 :
NAME IS NULL :2006/10/10(火) 03:14:58 ID:wLuxOSg2
>>988 あれ?分ってるじゃん。
NULLは何に対しても偽になるよ。
逆に言うと計算をキャンセルさせるロジックとしても利用できる。
991 :
987 :2006/10/10(火) 03:23:38 ID:0dcODXjr
992 :
NAME IS NULL :2006/10/10(火) 03:32:55 ID:wLuxOSg2
>>991 どうしても0に変換したくないなら
AND (原価 <> 100 OR 原価 IS NULL)
って方法もあるけど、データ量が多い時にOR入れると遅くなるよ。
TABLE A +---------------------+----+--------+ | time | name | +---------------------+----+--------+ | 2006-05-27 14:01:07 | apple | 2006-05-27 14:01:07 | apple | 2006-05-27 14:01:12 | banana | 2006-05-27 14:01:00 | orange +---------------------+----+--------+ TABLE B +---------------------+----+--------+ | time | rw | name | +---------------------+----+--------+ | 2006-05-27 14:01:05 | w | apple | 2006-05-27 14:01:07 | r | apple | 2006-05-27 14:01:09 | w | orange +---------------------+----+--------+ というテーブルがあり、Bのrwをtimeの値が大きいものから抽出し、Aの同じnameのデータを持つ行に追加した結果を得たいのですが、どうすればよいでしょうか? よろしくお願いします。
>>993 よくわからん、追加した結果がどうなるかも書いてみて
^
^
^
1000ならジュースでも飲むか
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。