データベース初心者質問スレッド

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
データベースって何?
2名無しさん@お腹いっぱい。:03/06/30 20:26 ID:???
2get
3名無しさん@お腹いっぱい。:03/06/30 20:32 ID:n17aZNjY
select * from
4名無しさん@お腹いっぱい。:03/06/30 20:55 ID:nnhcceO5
板違いです。
5名無しさん@お腹いっぱい。:03/07/01 14:23 ID:???
DB板自治・質問・雑談スレ
http://pc2.2ch.net/test/read.cgi/db/1056957157/l50
6名無しさん@お腹いっぱい。:03/07/01 14:55 ID:???
>>1
database
データの入力・更新・検索などの手順を提供し、
情報の集中管理を実現するもの。

ttp://yougo.ascii24.com/gh/search/?pattern=%83f%81%5B%83%5E%83x%81%5B%83X
7名無しさん@お腹いっぱい。:03/07/04 18:02 ID:???
nnnn

n
8あぼーん:あぼーん
あぼーん
9あぼーん:あぼーん
あぼーん
10あぼーん:あぼーん
あぼーん
11名無しさん@お腹いっぱい。:03/07/14 14:36 ID:0xA1rEeF
postgresにCSV形式のファイルからテーブルつくるには?
ちなみに、vainLinux postgresね。
12あぼーん:あぼーん
あぼーん
13名無しさん@お腹いっぱい。:03/07/14 14:41 ID:0xA1rEeF





postgresにCSV形式のファイルからテーブルに

データをインサートする方法教えてよ。

ディストリはvainLinuxなんで。




14あぼーん:あぼーん
あぼーん
15あぼーん:あぼーん
あぼーん
16あぼーん:あぼーん
あぼーん
17あぼーん:あぼーん
あぼーん
18あぼーん:あぼーん
あぼーん
19あぼーん:あぼーん
あぼーん
20あぼーん:あぼーん
あぼーん
21あぼーん:あぼーん
あぼーん
22あぼーん:あぼーん
あぼーん
23山崎 渉:03/07/15 11:15 ID:???

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
24名無しさん@お腹いっぱい。:03/07/23 19:52 ID:HSCTJ/7Q
正味な話、

正規化ってなに?
概説を知りたい。
25DB2世 ◆rsm9sTjowQ :03/07/23 19:58 ID:???
検索サイトで データベース 正規化
のキーワードで概説を勉強してみて下さい。
Y風 で データベース 正規化で検索した結果 
約5480件のページが見つかりました。 だそうです。
26あぼーん:あぼーん
あぼーん
27名無しさん@お腹いっぱい。 :03/07/28 22:55 ID:JG3prhcz
いいのがあってAccessのMDBをそのまま焼こうと思うのですが、
Keyがちゃんと立っているかどうか確認の方法がわかりません。
クレームとか怖いしどうすれば・・・、教せえて。
28名無しさん@お腹いっぱい。:03/07/29 20:49 ID:???
省略しすぎ
29ぼるじょあ ◆ySd1dMH5Gk :03/08/02 04:56 ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
30山崎 渉:03/08/15 23:05 ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
31名無しさん@お腹いっぱい。:03/08/16 23:19 ID:QL1dgTI+
荒れているとこ空気が読めなくて申し訳ないのですが、マジで質問です。
Windows2000上でAccess2000を動作させる際の適切なメモリ容量を教えて下さい。

会社で購入予定のPCがありまして、そのメモリ量が512Mなのですが、
先輩がどうしても「アクセスを快適に動作させるためにメモリを"2G"搭載させる!」
と主張するのです。
私自身は512Mで十分だと思うのですが...。
入力するデータ量は数万件程度です。
質問内容がざっくりで申し訳ないのですが、
誰かAccess2000とメモリの関係、教えて下さい。
よろしくお願いします。
32名無しさん@お腹いっぱい。:03/08/17 03:46 ID:Oz7uLT7A
初心者ですが質問です。
現在Oracleのトライアル版をインストールし、SYSパスワード、SYSTEMパスワードなども全て設定し終わりました。
その上でSQL*PLUSを立ち上げようとしてもユーザー名のところで何を入力すればいいのかわからず困っています。
ユーザー名はグローバル・データベース名ですか? (かなり見当違いなことを言ってる気がするが…)

まじでログインできずに困っているのでレスをお願いします。

PS
 SQL*PLUSを立ち上げる時はEnterprise Manager ConsoleでOracleサーバーを立ち上げなきゃだめですよね?


ほんとに基本的なこともわからないのでよろしくお願いします
33あぼーん:あぼーん
あぼーん
34名無しさん@お腹いっぱい。:03/08/17 10:48 ID:rHDLwAcm
>>32
初期化ファイルとか設定してる?
インストールしただけでは、データベースは出来てないと思うが。
インスタンスをNOMOUNTで起動できる状態なの?
35Oracle Matser:03/08/17 16:23 ID:iqp08xf3
>32
OSはUNIXかWindowsのどっち?
SQL*PlusはGUIで起動しているのか?
36名無しさん@お腹いっぱい。:03/08/17 19:55 ID:XHf6MFva
>>31
256MBで5万件扱ってるが、さしてストレスは感じない。
ただ、CPUに負担かける演算は行ってない。

VBのデバグ時にで、コネクションのOpenやらでいらいらするくらいかな。
ま、これもメモリのせいだけではないと思うけど。

でも、メモリは積んで積みすぎということはないので、
それではんこ押してもらえるならいんでないの?
37名無しさん@お腹いっぱい。:03/08/17 20:53 ID:+oqRYfoP
>>31
ACCESSで2Gだぁ?いらねーよ!そんなもん。
だいたいデータファイルだけで2Gもいかないんじゃないっすか?

>>32
sqlplus system/manager
38名無しさん@お腹いっぱい。:03/08/17 21:46 ID:rHDLwAcm
>>37
sqlpus /nolog はダメ?
39名無しさん@お腹いっぱい。:03/08/17 22:01 ID:NIAYNM+M
>>38
それはSQL*Plusが起動しただけで,Oracleにはまだ接続してないし.

>>32
telnetかsshでOracleサーバに直接ログインしてるなら
sqlplus " / as sysdba"
もしくは
sqlplus /nolog
SQL> connect / as sysdba
40名無しさん@お腹いっぱい。:03/08/17 23:34 ID:I/C6DvDJ
Oracleの質問です

DELETE EMP;  と   DELETE FROM EMP;  は、同じように行を全部削除できますでしょうか?

41名無しさん@お腹いっぱい。:03/08/18 00:08 ID:VydC1Gzt
Oracleで、テーブルのカラム名に「uid」って作れないんですか?
なんかの予約語っすかね?
Sybaseからの移行をしなくちゃいけなくて、Sybase側に「uid」ってカラムがあるんで
できればそのまんまOracleにも同じカラム名をつけたいんですが。
誰かおせーて。
42名無しさん@お腹いっぱい。:03/08/18 00:15 ID:???
USERIDと知ったかぶってみるてst
4341:03/08/18 00:18 ID:VydC1Gzt
>>42
大当たりだよ、兄弟。
44名無しさん@お腹いっぱい。:03/08/18 00:23 ID:???
>>43
お手伝いできてよかった・・・
自信なかったから知ったかぶってみたんだが・・・
4531:03/08/18 02:56 ID:q0oMmHVU
>>36
>>37
レスありがとうございます。
やはりメモリ2Gはあまり意味が無いようですね。
もう少し先輩と議論してみます。

46名無しさん@お腹いっぱい。:03/08/18 08:37 ID:NLPMxvwk
EXISTS

これなんて読むんですか?
47あぼーん:あぼーん
あぼーん
48名無しさん@お腹いっぱい。:03/08/18 14:19 ID:???
>45
データの「件数」ってあんまり関係ない。データの「容量」を気にするべき。
MDBファイル自体のサイズ上限が2GB。
メモリが2G必要なシステムなら、そもそもAccessの範疇を超えてると思ー。

49あぼーん:あぼーん
あぼーん
50名無しさん@お腹いっぱい。:03/08/20 15:00 ID:???
クエリーという用語の正確な定義を教えてください。
Accessでは、ビューという用語の代わりに使われているようなのですが。
5150:03/08/20 15:09 ID:???
追加です。
クエリーというのは、create viewやselectを使用した
データベースに対する問い合わせのみを指すのか、
それとも、insert、deleteなどの
データベースに対する操作一般まで含めて考えるのか、
どちらが正しいのでしょうか?
52名無しさん@お腹いっぱい。:03/08/20 16:46 ID:???
>Accessでは、ビューという用語の代わりに使われているよう
これはちと間違い。
Accessのクエリオブジェクトにも選択/テーブル作成/追加/削除といった各パターンがある。

っちゅう事で

>データベースに対する操作一般まで含めて
が正解。

ただ、Accessで「クエリ」って言葉を使う時はそれが
「データベースに対する操作一般を表す意味でのクエリ」なのか、「Accessが保持するクエリ
オブジェクトという意味でのクエリ」なのかという事を注意する必要があるかも。

53名無しさん@お腹いっぱい。:03/08/21 16:02 ID:XvsF1RwG
NULL値とAND,OR,NOTの関係説明でTRUE,UNKNOWN(NULL),FALSEが出てくるけど
FALSEって何?
54名無しさん@お腹いっぱい。:03/08/21 22:21 ID:???
>>53
偽ってことじゃない?
TRUEの反対。
WHEREで条件指定するときに 1=1なら検索されるが(TRUEだから)
1=2だとFALSEとなり検索されない(0件)ということ。
条件が真か偽か、ということ。
55名無しさん@お腹いっぱい。:03/08/22 13:26 ID:BsblLtaf
>>54
ありがとー
56名無しさん@お腹いっぱい。:03/08/22 13:40 ID:M0OiJWX5
最近PostgreSQLを使い始めましたが、配列を扱う関数ってのはないのでしょうか?例えば、集計を行う場合、 sum(array[1]),sum(array[2]),...,sum(array[N])とかやっているのですが、 sum(array)などで、まとめられないのでしょうか?
57名無しさん@お腹いっぱい。:03/08/22 16:54 ID:W5pQnNH+
デッドロックを防止するための一般的な具体策を教えてください。
58名無しさん@お腹いっぱい。:03/08/22 17:04 ID:GAchUAzf
>>57
DBMSにまかせておけ
59名無しさん@お腹いっぱい。:03/08/22 17:09 ID:W5pQnNH+
>>58
応用の話ではなくDBMSが具体的にどうやって防止するのか知りたいのです。
60名無しさん@お腹いっぱい。:03/08/22 17:17 ID:???
>>57
常に全てのユーザーが更新する順序を決めておけば
デッドロックになる可能性を大幅に減らせる
6157:03/08/22 17:19 ID:W5pQnNH+
>>60
なるほど。
ありがとうございます。
さらにもう一つ方法を挙げるとしたらどういった方法になるのでしょうか。
62あぼーん:あぼーん
あぼーん
63名無しさん@お腹いっぱい。:03/08/22 17:31 ID:???
>>61
残念ながらそこまでは・・
どちらにしろRDBMSならデッドロックになっても
どちらかのトランザクションがロールバックされるから
気にする必要もないとは思うけど。
6457:03/08/22 17:32 ID:W5pQnNH+
>>63
丁寧にありがとうございますです
65名無しさん@お腹いっぱい。:03/08/22 17:35 ID:E2DX22T8
ちなみに>>57はアニヲタです。
66 ◆tRrWrTO72I :03/08/22 17:35 ID:GAchUAzf
プ
67ntaomr006081.aomr.nt.adsl.ppp.infoweb.ne.jp:03/08/22 17:35 ID:GAchUAzf
アニヲタ終わってるなw
68名無しさん@お腹いっぱい。:03/08/22 17:36 ID:???
あぁ、もしかしたらだけど
ロックを明示的にすればいくらか減るんじゃないかな?
行レベルでロックかかるだけだと(オラクルの場合)
その次の更新でデッドロックになる可能性があるけど
ロックを明示的にして範囲を広げれば防げるかも・・
それには自分が行うトランザクションを理解したうえで初めに作業する範囲をロックしないと
いけないんだろうけど。つっても推測にすぎないが(汗
間違ってたらごめん。
6957:03/08/22 17:39 ID:???
お国板のアフォども>>65-67が流入しましてスレ汚し申し訳ありません

>>68
参考になりますた
70名無しさん@お腹いっぱい。:03/08/28 20:15 ID:r2LJ7j3d
再起処理って何?
やっちゃダメなの?

ダメだとしたらなんで?
71あぼーん:あぼーん
あぼーん
72名無しさん@お腹いっぱい。:03/08/28 22:45 ID:XW1ms4/6
>>70
なかなか釣れませんねぇ(w
73 :03/08/29 00:26 ID:lPIg/z4B
人生に迷ったらココ!
http://www.aleph.to
74名無しさん@お腹いっぱい。:03/08/29 01:04 ID:XlHxFaZd
田代を一位に!!!!!!!

http://cozalweb.com/ctv/ranking/actor.html

http://www.popkmart.ne.jp/yozemi_ranking/a.html

http://www.no1boy.com/cgi-bin/choice/index.html


管理人が票を削っても、あきらめるな!!

〜コピペ推奨〜
75名無しさん@お腹いっぱい。:03/08/30 03:29 ID:T8/mhSrs
具体的にどんなデータがデータベースなの?
76名無しさん@お腹いっぱい。:03/08/30 05:54 ID:R83zjMCW
>>70>>75
ここはあまりよい釣り場ではないですよ(´ι_`)
77PostgreSQL:03/09/02 10:48 ID:qqW28Cpn
質問です。

create table list (item_id int, ...);
 の商品リストがあって、
create table item (item_name varchar unique, item_id int,cost int);
 などの商品データテーブルがあるとします。

select * from list; で商品リストを出したいのですが、
item_id を item テーブルから引いて、置換したいと思ってます。

select (select item_name from item where item_id=list.item_id),... from list;

とかすれば、いいのですが、一旦 select * from list をして、
1つ1つ、item_id を手動で調べたときより、時間がかかってしまいます。
これは何故なんでしょうか?もっと効率の良いやり方は無いものでしょうか?
よろしくお願いします。
78名無しさん@お腹いっぱい。:03/09/02 11:43 ID:???
普通はWhereとIN使うんでないか?
79名無しさん@お腹いっぱい。:03/09/02 11:58 ID:???
普通のJOIN でいいかと
SELECT item.item_id,item.item_name,item.cost FROM item,list WHERE item.item_id = list.item_id
とか
さらに、VIEW 作るといいかもね
80PostgreSQL:03/09/02 12:29 ID:qqW28Cpn
回答ありがとうございます。
>>78
の方法を考えてみましたが、

SELECT item_name form item where item_id in (select item_id from list);

とすれば商品名だけは出るのですが、listの他の要素がでません。
>>79 の方法は2つの表の CROSS JOIN を取るって意味でしょうか?

SELECT item.item_name,list.foo.list.bar
FROM list CROSS JOIN item WHERE list.item_id=item.item_id

これも出るのですが、時間がかかるんですよね。
>>78 の出力を list とさらに CROSS JOIN とかしたら出そうですが、
それなら、>>79 と同じような気がしますし。
81名無しさん@お腹いっぱい。:03/09/02 12:40 ID:???
ん?最終的にどういう出力が欲しいの?
82PostgreSQL:03/09/02 12:47 ID:???
わかりにくくてすいません。

list:商品リスト
 item_id foo  bar
 ---------------------
 0000001 ふー ばー

item:商品データ
 item_name item_id
 ---------------------
 商品1   00000001

のテーブルから、下記のようなテーブルを作成したいのです。

 item_name foo  bar
 ---------------------
 商品   ふー ばー
83PostgreSQL:03/09/02 12:49 ID:???
すみません、 最後のテーブルのデータの「商品」は「商品1」の間違いです。

84名無しさん@お腹いっぱい。:03/09/02 13:10 ID:???
>>79
item.item_id,item.item_name,item.cost
を、
item.item_name,list.foo,list.bar
にかえるだけじゃだめなの?
85PostgreSQL:03/09/02 13:32 ID:???
それだと、from句にitemしか定義されていないため、
listの集合が見つからず、正常に表示されません。

結局、listの集合を再び CROSS JOIN して、表示させるしかないのですかねぇ。
86名無しさん@お腹いっぱい。:03/09/02 13:53 ID:???

list入ってるよ?
これはLEFT JOINだけどね
87名無しさん@お腹いっぱい。:03/09/02 14:06 ID:???
携帯から書いたんでミス
>>79がCROSS JOIN
LEFT JOINは
SELECT item.item_name,list.foo,list.bar FROM item LEFT JOIN list ON item.item_id = list.item_id
こうか
88名無しさん@お腹いっぱい。:03/09/02 14:15 ID:???
INDEXは張ってるのか?
89PostgreSQL:03/09/02 14:46 ID:???
ちょっと書いてて支離滅裂になってしまいました。
ごめんなさい。
書く文字数が限られているため、単純に書きすぎました。

どちらのテーブルも100万件のオーダーでデータを持っていて、
且つ、listは属性をまだ複数持っていて、出力時に where で条件かけたり、
order byでソートを行っています。

実際の list は、
 SELECT item_id,bar,... FROM list WHERE foo="ふー" ORDER BY bar limit 100;
などという構文から得られるテーブルになるのですが、
この item_id は数字でして、対応する商品名の文字列が item で管理されているため、
置き換える必要があるのです。

LEFT JOIN だと、
〜 FROM item LEFT JOIN (上記の構文); てな形になるのでしょうか?

ちなみに、キーやユニークでインデックスは作ってます。

90名無しさん@お腹いっぱい。:03/09/02 15:32 ID:???
置き換える必要っつ〜か、それが一般的なRDBじゃないのかね

オレなら通常のCROSS JOINのSELECTを元にVIEWをつくり
そのVIEWで使う検索キーを調べてチューニングするかな

LEFT JOIN(OUTER JOIN)は全item分の行を出すから用途が違いそう
91PostgreSQL:03/09/02 16:02 ID:???
ふむふむ、じゃぁこんな感じですかね。

SELECT item.item_name,a.bar
FROM (SELECT * FROM list WHERE foo='ふー' ORDER BY bar LIMIT 100) AS a
CROSS JOIN item WHERE list.item_id=item.item_id;

これなら、>>77 よりは速かったです。

VIEW を使うのは、毎回 () AS a の中の条件が変わるので、
あまり意味なさそうなので、やってません…。

ありがとうございました。
92名無しさん@お腹いっぱい。:03/09/03 13:54 ID:/YVRG2BX
初心者質問お願いします

DBソフトってたくさんありますよね?
・MS Access
・Oracle
・MS SQL Server
値段もかなり違うので性能が違うのだと思いますが、
ソフトを選択する時どんな用途別に分けて考えれば
よいのでしょうか?
93名無しさん@お腹いっぱい。:03/09/03 14:48 ID:???
PCで個人データ管理 -> MS Access
会社でデータ管理 -> Oracle
住基ネットで個人データ管理 -> SQL Server
その他 -> PostgreSQL,MySQL

94データ:03/09/03 16:04 ID:wVpKLXEA
Accessで、SQLを入力する時に、
半角、全角やスペースのある無しで、
クエリが作成されたり、されなかったりします。
SQLを入力する時の正しい入力方法が
分かり易い形で(入力時の写真付き)
解説されている
教本や参考書、サイトはありませんか
あれば教えてください。
95:03/09/04 10:31 ID:cknqAjcb
SQLサーバ2000の本で
良いのがあったら教えてください。
96名無しさん@お腹いっぱい。:03/09/04 13:27 ID:XMQMy3bg
Accessのmdb(フォーム)ファイルを
WEBで使う方法とかが載ってるHP等があれば教えてください。
97名無しさん@お腹いっぱい。:03/09/04 17:55 ID:d847AsyZ
PostgreSQLで、一度作ったテーブルに列名を新たに追加したいときはどうすれば
良いんでしょうか?
98名無しさん@お腹いっぱい。:03/09/04 22:12 ID:ig8+DCFO
初心者ですみません。教えて下さい。
VB6で、サーバーのDBに複数のクライアントから同時にアクセスしたいのですが、
どうすればいいのでしょうか?
同時にwriteするとエラーが出る場合があるんです。
99名無しさん@お腹いっぱい。:03/09/04 22:17 ID:???
>98
複数クライアントからの同時アクセスが考慮されているDBMSを使う。
つか使ってるDB、バージョン、どんなソースを実行したらどんなエラーが
出るのかという最低限の情報も無く答えられるかハゲ
10098:03/09/04 22:19 ID:ig8+DCFO
ゴメン。Jetです。
101名無しさん@お腹いっぱい。:03/09/04 22:19 ID:???
>>97
何かを変更する時は、ALTER を調べるといいよ
\h ALTER でも \h ALTER TABLE でもヘルプでるし

今回の場合、
ALTER TABLE [ ONLY ] table [ * ]
ADD [ COLUMN ] column type [ column_constraint [ ... ] ]
だね。[ ]内は省略可能
102名無しさん@お腹いっぱい。:03/09/05 03:34 ID:L4JEKT+V

特定のレコードの更新をしたいと思っているのですが
どうしてもエラーが出てしまいます。
もしよりしければお答えいただけるとうれしいです。
DB Access
ソースStrSQL = "update urldata set "
StrSQL = StrSQL & " name = '" & name & "',"
StrSQL = StrSQL & " pass = '" & pass & "',"
StrSQL = StrSQL & " mail = '" & mail & "',"
StrSQL = StrSQL & " age = '" & age & "',"
StrSQL = StrSQL & " sex = '" & sex & "',"
StrSQL = StrSQL & " star = '" & star & "',"
StrSQL = StrSQL & " blood = '" & blood & "',"
StrSQL = StrSQL & " add = '" & add & "',"
StrSQL = StrSQL & " title = '" & title & "',"
StrSQL = StrSQL & " pr = '" & pr & "',"
StrSQL = StrSQL & " entrydate = #" & entrydate & "#"
StrSQL = StrSQL & " where id = " & id
ObjConn.Execute(StrSQL)
エラー内容
クエリ式 'id =' の 構文エラー : 演算子がありません。
103名無しさん@お腹いっぱい。:03/09/05 04:24 ID:???
nameとかpassとかの中に「'」が含まれている
idも文字列型



ってゆーかStrSQLの中身見せろよ
104名無しさん@お腹いっぱい。:03/09/05 13:44 ID:MX/8TJA9
>>103
申し訳ないです。解決しました。
はずかしいけどこれ書くの忘れてた。
ID = Request.Querystring("ID")
105名無しさん@お腹いっぱい。:03/09/05 15:42 ID:pOVwhGnH
http://otn.oracle.co.jp/sample_code/java/sqlj_jdbc/jdbc4.txt
でEMP表に
INSERT INTO EMP (EMPNO, ENAME) VALUES (1, '1');
INSERT INTO EMP (EMPNO, ENAME) VALUES (2, 'あいうえお');
を入れた後、以下環境で実行した場合、
WindowsXP + weblogic8.1 + Oracle:Oracle9.2
(oracle.jdbc.driver.OracleDriver)

出力結果が
1 0x31
2 0x82A082A282A482A682A8
となってしまいます。
1が0x31となっているところを見ると
バイナリ形式のような文字列になっています。

期待している出力結果は
1 1
1 あいうえお
というものなのですが、どの様にすれば期待通りに取得できるの?
106名無しさん@お腹いっぱい。:03/09/05 16:37 ID:???
>>105
テーブルどうやって作った?
107名無しさん@お腹いっぱい。:03/09/05 18:06 ID:pOVwhGnH
>> 106
こうですが?

CREATE TABLE EMP (
EMPNO NUMBER(10) NULL,
ENAME VARCHAR2(10) NULL
);
108名無しさん@お腹いっぱい。:03/09/06 14:20 ID:zjngnvFF
TABLE=AMI
KEY NO
001 AA
001 ""


っていうデータの入ったテーブルがあって

SELECTで

select * from ami WHERE No="AA"

001 AA
が取得できるが

select * from ami WHERE No="BB"
001 ""
を取得する方法ねー?
109名無しさん@お腹いっぱい。:03/09/06 15:54 ID:???
BBで""は無理では
もしかして空文字でなくてNULLのことか?
もしそうなら、 IS NULL
110108:03/09/06 16:16 ID:zjngnvFF
ちょっと違います。

@該当の値があれば、その項目を取得
A該当の値がなくて、NULLのデータがあれが、その項目を取得
B該当の値がなくて、NULLのデータがないなら、データなし

これを一回のSELECTでしたい
無理ですかね?
111名無しさん@お腹いっぱい。:03/09/06 16:29 ID:???
OR 使えばいいと思うが
112名無しさん@お腹いっぱい。:03/09/06 18:11 ID:???
SQL文の質問です。
項目Dateに、2003/01/01 という風に値が入ってるとします。
これを日別に集計する場合、countで問題ありませんが、
これを月別で集計したい場合、どうすれば良いのでしょうか?

例)
2003/01/01
2003/01/01
2003/01/02
2003/02/01
の場合

日別 (これは出来ます)
2003/01/01 2
2003/01/02 1
2003/02/01 1

月別 (これを教えて下さい)
2003/01 3
2003/02 1
113名無しさん@お腹いっぱい。:03/09/06 18:49 ID:???
>>112
Dateの型は?

EXTRACTで抽出するか、SUBSTRで切り出せばできる
114名無しさん@お腹いっぱい。:03/09/06 19:15 ID:???
>113
MS Access で、日付/時刻型です。

> EXTRACTで抽出するか、SUBSTRで切り出せばできる
ありがとうございます、ヘルプで調べてみます。
115名無しさん@お腹いっぱい。:03/09/06 22:19 ID:jOOo84vo
Oracleなんですが。

人物表USERSに列USER_IDとUSER_NAMEがあって、それに対する
持ち物表ITEMSに列USER_IDとITEM_IDがあります。
ひとりの人物が複数の持ち物を持つことができます。

ある物を「持っている」人物の名前は

SELECT U.USER_NAME
FROM USERS U, ITEMS I
WHERE I.ITEM_ID = '調べたい物のID' AND
   I.USER_ID = U.USER_ID

のように取れるのですが、ある物を「持っていない」人物の名前を
効率よく取得するにはどうすればいいのでしょうか?
全USER_IDから「持っている」USER_IDをMINUSするようなやり方しか
わからないのですが...
116名無しさん@お腹いっぱい。:03/09/07 01:11 ID:tQYWQlze
いままで色々な掲示板で評判が高いところをまとめてみた。

■■■ お勧めレンタルサーバー ■■■

【ホームページを作るならここをあたれ!】

A:無難なサーバー。 お勧め!!  
 http://www.webspeed.ne.jp/  
 http://www.wadax.ne.jp/
 http://www.ktplan.ne.jp/
 http://www.wakwak.net/
 http://www.cpi.ad.jp/  
 http://solid.ad.jp/  

B:ある程度の障害は大目に。  
 http://www.binboserver.com/
 http://s55.net/
 http://www.j-navi.com/
 http://domainya.net/
 http://www.j-speed.net/main/
 http://www.cyberjellyfish.com/
117名無しさん@お腹いっぱい。:03/09/07 06:47 ID:???
>>115

SELECT U.USER_NAME
FROM USERS U
WHERE U.USER_ID NOT IN
  (SELECT I.USER_ID FROM ITEMS I
   WHERE I.ITEM_ID = '調べたい物のID')

こんな感じではどうでしょう?
118名無しさん@お腹いっぱい。:03/09/07 13:10 ID:raLiPwMj
>115
WHERE not  I.ITEM_ID = '調べたい物のID' AND
   I.USER_ID = U.USER_ID
これでどう?
119名無しさん@お腹いっぱい。:03/09/07 22:37 ID:???
>>118
それだと何も持ってない人が抽出されないし、
「調べたい物」を持ってるけどそれ以外の物を持っている人も抽出されちゃわない?
120115:03/09/08 01:58 ID:???
>>117
ありがとうございます。MINUSよりずっと良さそうです。

>>118
私も最初にそれを書きました。。
121名無しさん@お腹いっぱい。:03/09/08 15:16 ID:vgdn11Fm
ローカルではデータベースからの読み込み、
書き込み、更新が問題なく行えるのですが
web上だと読み込みしかできず、書き込み、
更新が出来ません。
もしよろしければ考えられる問題点を
挙げていただけるとうれしいのですが。
122名無しさん@お腹いっぱい。:03/09/08 16:02 ID:???
WEBサーバを動作させているユーザにINSERT,UPDATE権限が無いに一票
123名無しさん@お腹いっぱい。:03/09/09 06:18 ID:???
>>122 2票目(w

>>121
もうちと、状況がないと、
OSとかDBとか言語とか推理ゲームじゃないんだから(w
124名無しさん@お腹いっぱい。:03/09/09 14:06 ID:SNLwT53n
>>123-122
申し訳ないです。
OS:win2000
DB:access2000
言語:aspです。
cgi-binのフォルダには777の権限を持たせてあるとあったのですが
いろいろ試してみた結果、755の権限しかないようです。
ひょっとしたらcgiのフォルダを上書きしちゃったのかもしれない・・・
125124:03/09/09 15:48 ID:SNLwT53n
問題解決しました。
サーバ側に問題があったようです。
ありがとうございました。
126名無しさん@お腹いっぱい。:03/09/09 21:42 ID:JG7EO1Ml
the cardなんて使ってらっしゃるかたいますか?
127名無しさん@お腹いっぱい。:03/09/10 07:50 ID:a5Lh437O
Perl+MySQLでデータベース組んでる初心者ですが、
一度に数百件のデータを更新するうまい方法ってありますか?
今やってる具体的な方法は、

データの検索結果を<input type="text" value="DBのデータ" name="連番(0.0,0.1,0.2・・・みたいな)">
で表示

更新ボタンを押すと全てのデータが更新処理のスクリプトに送られる

更新処理のスクリプトでとにかく全てのデータをupdate文で更新(実際更新されていないデータも)

なんですが、うまくいかないし効率悪すぎる気がして・・・。
128名無しさん@お腹いっぱい。:03/09/10 08:17 ID:IvwQfwTS
129名無しさん@お腹いっぱい。:03/09/10 11:49 ID:???
>>127
条件がわからん。
実際に数百件の更新が必要ならそれだけの作業が必要なのでは

うまい方法があるかもしれないと思うのは、今の処理に
無駄な操作があるからじゃないの?
そしたらどんな操作をしてるかわからないと答えられない
130名無しさん@お腹いっぱい。:03/09/10 15:24 ID:1GLFuORd
CREATE TABLE foo (
foo_id serial NOT NULL,
point integer,
money integer,
)

CREATE TABLE bar (
bar_id serial NOT NULL,
point integer,
money integer,
)

というテーブルがあります。いま、idを与えて、foo と bar から
その id を持つ行を point でソートさせて検索したいです。
どういうSQL文になるのでしょうか?
131130:03/09/10 16:27 ID:???
>>130 わかりました。union 使えばいいのですね。。

select * from foo union select * from bar order by point;
132名無しさん@お腹いっぱい。:03/09/10 16:30 ID:???
idはどこにでてくるんだ?
133130:03/09/10 16:39 ID:???
>>132 Postgres の場合、id は foo_id に出てきました。

ところでさらに質問なのですが、この結果で foo と bar を
区別することはできるでしょうか?
134あぼーん:あぼーん
あぼーん
135名無しさん@お腹いっぱい。:03/09/10 16:55 ID:???
>>133
すまんが、何がやりたいかがわからない
id と同じ値をfoo_id,bar_id に持つものの一覧かな
136130:03/09/10 16:58 ID:???
>>135 そうですそうです。>>131 のSQL文は間違いでした。。

select * from foo where foo_id = '$id' union select * from bar where bar_id = '$id' order by point;

ですね。。で、これで結果は返ってくるのですが、返ってきた結果を区別したいのです。。
137名無しさん@お腹いっぱい。:03/09/10 17:11 ID:???
select 'foo',* from foo where foo_id = '$id' union select 'bar',* from bar where bar_id = '$id' order by point;

とかはどう?
あとorder by がどっちにかかるか確認して場合によっては括弧いれたほうがいいかも
138130:03/09/10 17:28 ID:???
>>137 すばらしいです!期待通りの動作しました。
?colum?で値を受け取れるんですね。ありがとうございました。
139名無しさん@お腹いっぱい。:03/09/10 17:35 ID:???
>>138
ああ、?column? じゃまずいだろうから、ASで名前付けるといいかも

SELECT 'foo' AS name,* ・・・ とかね
140名無しさん@お腹いっぱい。:03/09/12 11:01 ID:tpO5dmkS
Oracle9i がインストールされているマシンに
Oralce HTTP Server が動いている。
IISをいれてもいいでしょうか?
FTPサーバーを立てないのですが。。。
141名無しさん@お腹いっぱい。:03/09/12 14:31 ID:???
いいよ。アドレス1つならポート番号ぶつからないように設定な
142名無しさん@お腹いっぱい。:03/09/12 14:33 ID:???
ってFTPサーバーをたてない、んじゃなくてFTPサーバだけ
たてたいのか?どっちにしてもインストールしていいよ、オレが許す
143名無しさん@お腹いっぱい。:03/09/13 17:15 ID:xALQz9uW
144名無しさん@お腹いっぱい。:03/09/14 10:38 ID:ZDu0UFum
mod_phpを使っているレンタルサーバのMySQLで、
パスワードを同じサーバの利用者から見られることなく、自分だけ安全に
DBにアクセスする方法はありますか?
145名無しさん@お腹いっぱい。:03/09/14 15:33 ID:???
>>144
DBというよりphpの質問ですね。そちらで聞いたほうがいいかも
なんか無理な気がするなあ
146名無しさん@お腹いっぱい。:03/09/16 20:45 ID:25lzWgkC
本当に初心者デ申し訳ありません。
サーバーにデーターが入ってそれを管理するのがいわゆるDBですよね
クライアントがデータを問い合わせる画面(入力画面)がありますよね。
Accessではフォームと呼ばれていると思いますが、
それってどうやって作ってるんですか?
147名無しさん@お腹いっぱい。:03/09/16 22:11 ID:???
>>146
VBとかC#とか、好きなので作れるよ。
148名無しさん@お腹いっぱい。:03/09/16 23:24 ID:8cPbP4A7
データベースの専門用語を解説しているサイトってないですか?
149名無しさん@お腹いっぱい。:03/09/17 00:37 ID:???
あります
150名無しさん@お腹いっぱい。:03/09/17 00:43 ID:YKXGqF1l
神<www.google.co.jp>に聞け
151名無しさん@お腹いっぱい。:03/09/17 01:17 ID:l8st7KtH
PostgreSQLとPHPとの組み合わせの場合、
PostgreSQLとPHPのバージョンによって関数が違うため
昔のスクリプトは使えないようですが、
MySQLとPHPとの組み合わせの場合は古いものでも使える
のですか?
152名無しさん@お腹いっぱい。:03/09/17 20:43 ID:???
>>146
>サーバーにデーターが入ってそれを管理するのがいわゆるDBですよね
正確にはRDBMS
FormをAccessで作るなら,単一のテーブルで練習しなさい。
初心者用としては、データベースウインドウのフォームをクリック
『ウイザードを使用してフォームを作成』をクリック
テーブルを選択して表示するフィールドを選択
以下省略
できたフォームをデザインビューで開いてツールボックスからボタン等を貼り付ける。
以下省略
ほんの一冊ぐらい買ってやってください。
Accessのヘルプにも載っている。
147さんの様にしか答えようがない。
ア〜メンドクサ!!
153名無しさん@お腹いっぱい。:03/09/20 16:48 ID:j3yG6RMI
初心者です。教えてください。
いま塾の講師をやっているのですが、入試問題をデータベース化して、
例えばその単元ごとに問題を抽出できるようにしたいのですが
そのようなことができるソフトってありますか?
154名無しさん@お腹いっぱい。:03/09/20 19:33 ID:IwSMwUDT
たぶんこの板の趣旨とはちがう質問だなあ
155名無しさん@お腹いっぱい。:03/09/21 04:41 ID:???
>>153
Excelで充分でないの?
156名無しさん@お腹いっぱい。:03/09/21 10:30 ID:Ba4O8XLV
 Win版のOracle8iをCDからインストールしようと思ったら、
CDが複数あって(ClientとかPersonal Editionとか)どれを
選んだらよいかわかりません。
 とりあえずsql*plusが使える状態にしたいのですが、
どのCDをインストールしたら良いでしょうか?
 どなたかご存知の方、よろしくお願いします。
157名無しさん@お腹いっぱい。:03/09/21 11:42 ID:???
>>156
なんか臭うが。。。
そのマシンでDBを構築するんじゃないのならClient使って一通り入れとけ。

158156:03/09/21 20:32 ID:???
>>157
ありがとうございます。
急遽業務でC言語とOracleを使うことになったのですが・・・わからんことだらけ!
勉強します。
159名無しさん@お腹いっぱい。:03/09/21 22:34 ID:???
Perl+MySQLを始めようと思っているんですが、
その入り口として良い書籍はありますでしょうか。

書店で探したところOracleやPHPの解説はあってもPerlはあまりなかったので…
将来はPHPも学ぼうと思っていますが、とりあえず今あるPerlに導入したいので

何かお薦めがありましたらお願いします。
160>159:03/09/21 23:42 ID:OZNHk18f
書籍あったけど忘れた、スマソ。
てかネット上の資料で事足りますたが・・・。
161名無しさん@お腹いっぱい。:03/09/22 12:50 ID:L9Cf+/UA
質問させてください。
perl5.8.0 + mysql4.0.14でやっています。
下記のコードを実行すると、
DBD::mysql::st execute failed: Something is wrong in your syntax : ''test_tbl' wh
ere bbb = 'c001'' 付近 : 1 行目 at hogehoge.pl line 60.
とエラーになってしまいます。
自分としては、原因は$tblの値がシングルクォートで囲まれているためだと考えています。
プレースホルダを使うと、文字列は自動的にシングルクォートで囲まれてしまうのでしょうか?
また、それを無効にするにはどうしたらよいのでしょうか?
よろしければどなたか御教示頂けたらと思います。

$tbl = 'test_tbl';

$sth = $dbh->prepare("select sum(aaa) from ? where bbb = 'c001'");
$sth->bind_param(1, $tbl);
$sth-execute;

162名無しさん@お腹いっぱい。:03/09/22 13:42 ID:???
使ったこと無いんであれだが、table名にbind_param は使うものじゃないって
ことじゃないの?型も指定できるようだし
163161:03/09/22 14:16 ID:L9Cf+/UA
なるほど、型の指定が出来るということはテーブル名にbind_paramを使うのは不適当な感じがしますね・・・。
代替の手段を探してみます、ありがとうございました。
164名無しさん@お腹いっぱい。:03/09/23 21:51 ID:???
ずびばぜん、SQLからしばらく離れていたら脳みそがパーになってしまいますた(Tд⊂
テーブルAに存在して、テーブルBに存在しないレコードの抽出って
どうやるんでしたっけ(Tд⊂
165名無しさん@お腹いっぱい。:03/09/24 20:51 ID:???
>>164
NOT INとかMINUSとか、他にも色々あるかも。
仕様わかんないんでここまで。
166名無しさん@お腹いっぱい。:03/09/25 19:16 ID:???
>>159
オライリーのMySQL & mSQLとPerlの本でいいんじゃないかな。
自分は同社のMySQLとPHPを読みつつ始めたんだけど
少しづつではあるが理解できて作業が進んでいってるよ。
167名無しさん@お腹いっぱい。:03/10/02 00:59 ID:???
>>164 table_a に対し table_b を table_aのシュキーで内部結合でしょうか
168名無しさん@お腹いっぱい。:03/10/02 08:14 ID:???
今、アクセスでレポートを作成しています
フィールドは
番号 名前
001 田中剛
002 佐藤昇
|
098 柴田彩
こんな感じで、これをウィザード使って表形式で作ると
一列が下まで達すると次のページに移るんですよ
列の幅を狭くして、1ページに複数の列を入れたかったので
詳細の欄をコピーして並べてみたのですが、このままでは
列は2つになりましたが、2列とも同じ内容になってしまいました
これを同じ内容ではなく、続けて次の内容が表示されるようにするには
どうしたらいいのでしょうか?
169名無しさん@お腹いっぱい。:03/10/02 09:50 ID:???
「Access 複数列のレポート」でぐぐる
170名無しさん@お腹いっぱい。:03/10/03 11:01 ID:???
テーブルに数値型で入力した「1972」などの年号を
昭和に直すことってできますか?
171名無しさん@お腹いっぱい。:03/10/03 19:43 ID:???
>>170
Accessなら Format(DateSerial(1972,1,1),'ggge')
172名無しさん@お腹いっぱい。:03/10/08 14:56 ID:???
フィールドに「1」と「2」というデータが入っていて
それを元にして新しいフィールドに1が入っているレコードならば「男」
2が入っているレコードならば「女」とデータを入れるにはどうしたらいいでしょうか?
173名無しさん@お腹いっぱい。:03/10/08 15:01 ID:???
てかそもそも、1=男、2=女と決まっているなら、それをあえて項目として持つ必要は無いんじゃ?
それでもというなら、VBA又はクエリ使って入れる。
174172:03/10/08 15:16 ID:???
どうも、アドバイスありがとうございます
更新クエリで解決しました
175172:03/10/08 17:02 ID:???
また、問題が拗れてきました
最終的には性別の情報をレポートで出力したいのですが

元のテーブルの方を定期的に外部からのインポートで更新しなければならないので
更新クエリで「1・2」という数字から「男・女」に変えても、テーブルの更新の際に戻ってしまいます
なので、テーブルの更新に連動できるように、クエリで式にIIf関数を使って変換したのですが
レポートにまとめる際に、元のテーブルのフィールドとクエリのフィールドを一緒に選ぶとエラーが出てしまいます
テーブルに連動したオブジェクトのフィールドを、そのテーブル自体のフィールドと
同じレポート内で使うのは、どうやっても無理なものなのでしょうか?
176名無しさん@お腹いっぱい。:03/10/08 19:45 ID:???
エラーメッセージくらい書いてオケよ。
177172:03/10/09 11:04 ID:???
自己解決しますた
178名無しさん@お腹いっぱい。:03/10/09 11:25 ID:???
レポートで、開くたびに特定の項目を入力なんてのはできますか?
179178:03/10/09 11:59 ID:???
入力するのは解決して、現在、その値に定型入力を設定しようとしているのですが
レポートの場合、テーブルの定型入力とは異なるのでしょうか?
4桁の整数を入れるようにしたいので「0000」と打ってみても
全く効果はありませんでした
180名無しさん@お腹いっぱい。:03/10/10 13:15 ID:???
日付型でなく、数値型のフィールド三つに、それぞれ「1978」「05」「21」というように日付のデータが入っていて
その日付から、『2001年の10月〜2003年の3月まで』という形で条件を指定したいのですが
年のフィールドだけなら >=いつから and <=いつまで と指定できるのですが
そこに月を加えるとなると、うまい式が思いつきません
上記のような指定をしたい場合、どのような指定の仕方をすればよいのでしょうか
181名無しさん@お腹いっぱい。:03/10/11 00:05 ID:???
>180
年*10000+月*100+日すれば良し
182NAME IS NULL:03/10/16 00:41 ID:zesc3CO3
Access初心者です。引数「時間単位」には"ss"までとなっているようですが
100分の1秒まで表示させる方法はないでしょうか?
どなたかご教授ください。よろしくお願いします<(_ _)>
183182です:03/10/16 00:44 ID:zesc3CO3
名前入れるの忘れてました
184にし:03/10/16 00:52 ID:zesc3CO3
Access初心者です。引数「時間単位」では「秒」までとなっているようですが
100分の1秒までを表示する方法はないでしょうか?
どなたかご教授ください。よろしくお願いします。
185NAME IS NULL:03/10/16 01:02 ID:???
MS-ACCESSの話なら以下でしたほうが返答もらえるかも。
182さんに限った話じゃないっすけどね。

Microsoft Access
http://pc2.2ch.net/test/read.cgi/db/1056952414/
186NAME IS NULL:03/10/16 11:32 ID:CgOALrg4
VIEWのメリットって何ですか?
JOINしないような場合には、作るメリットはないのでしょうか?
187NAME IS NULL:03/10/16 22:41 ID:xRJld+53
すいません。教えてほしいのですが・・・・いろいろ画像を見ようと
思ってURLって言うんですかね?踏もうとしたら下のサイトばかりに
つながってしまいます。どうしてでしょうか?どうすれば直りますか?
もしかしたら板違いかもしれませんが、よかったら教えてください。

http://ime.nu/www.nunames.nu/cgi-bin/VerifyResultscc.cfm
188NAME IS NULL:03/10/17 00:07 ID:9xyECtDb
>>181
そりゃ遅い

>>180
年 = 2001 and 月 >= 10
or
年 > 2001 and 年 < 2003
or
年 = 2003 and 月 <= 3

の方が圧倒的に速いと思われ。
なぜ速いか分からない香具師はDB設計ヤメレ。
189188:03/10/17 00:09 ID:9xyECtDb
ね、年が同じ場合には投げるSQLをかえてくれよナ!
190NAME IS NULL:03/10/19 04:24 ID:VI+vho13
すいません助けください。データベースのスキーマで質問があります。
部品表       動作表
-------------        -------------
|PK|部品ID |        |PK|部品ID |
| |部品名 |        |PK|部品動作ID |
| |部品価格|        | |動作 |
| |部品色 |        -----------------
-------------

部品名、部品価格、部品色は部品IDにすべて従属してます。
動作は、部品ひとつにつき複数(いくつかわからない)もっております。
そして、部品ごとに動作は違い、ほかの部品と重複する場合もあるし
しない場合もあります。


このようなスキーマを考えているのですが部品表のほうは問題ない
と思うのですが、動作表のほうが部品IDがなくても部品動作IDだけで
動作は抽出できるのですが、どの部品に対応しているのかわからないので
部品IDをいれてるのですが、このような設計でいけるのでしょうか?
もっといい方法があれば教えてください。
これだけの拙い説明で申し訳ございません。
191NAME IS NULL:03/10/19 11:54 ID:???
動作表
-------------
|PK|部品動作ID |
|FK|部品ID    |
|  |動作     |
-----------------
PK 主キー,FK 外部キー

>動作表のほうが部品IDがなくても部品動作IDだけで
>動作は抽出できるのですが、

この文章から、察すると上記のような形にもできるかなーと
思ったりします。
主キーがどうなるのか、部品IDごとになるのか?
部品動作IDだけでも一意となるのか?
が違うところですね。
192190:03/10/19 16:37 ID:IGlJLfW/
>191
ありがとうございます。
どうやらその方法でいけると思います。
193NAME IS NULL:03/10/19 17:28 ID:???
WindowsでMySQLのサーバ?立ち上げるときにmysqldってやるじゃないですか。
そのときオプションで--default-character-set=sjisっていうのは
できるのですが、これをEUC_JPでやるにはどうしたらいいですか?

普通に打ち込んでも駄目みたいなんです。notなんたらとか出て。
で、そのままやると文字化け。もう見てらんない。
194NAME IS NULL:03/10/19 17:34 ID:???
>>192
データ多いようだったらインデックスとか付けて工夫してみてください。

>>193
Windows MySQL eucでぐぐったらすぐ出てきたんですけど・・・。

あと、こんなんもありますんで。
MySQL総合
http://pc2.2ch.net/test/read.cgi/db/1056942908/
195NAME IS NULL:03/10/22 02:12 ID:Kkwd8ldT
VBでDAOを使ってるんですが、
重複のないユニークな番号って
どうやったら取得できますか?
196NAME IS NULL:03/10/25 12:01 ID:???
SQLの勉強をしたいんですが、タダで使える良いデータベースソフトを教えてください。
MySqlだと副問い合わせが出来ないんです・・。
197NAME IS NULL:03/10/25 18:44 ID:???
PostgreSQLとかいかがですか?
198NAME IS NULL:03/10/26 03:24 ID:VhRFCGMh
Yahoo!みたいなカテゴリ構造(というか、ツリーー構造?)を、
テーブル設計するにはどうするのが、よいのでしょうか?
199NAME IS NULL:03/10/26 04:10 ID:???
「業務別データベース設計のためのデータモデリング入門」を読め
http://www.amazon.co.jp/exec/obidos/ASIN/4534032501/
200NAME IS NULL:03/10/26 13:11 ID:???
>>196
Oracleのトライアル版をどうぞ
http://otn.oracle.co.jp/software/index.html
201NAME IS NULL:03/10/26 17:04 ID:huzQNrNF
CSEは最高ですな
CSEは最高ですな
CSEは最高ですな
CSEは最高ですな
202NAME IS NULL:03/10/27 22:24 ID:???
列A 列B
10 0
11 10
12 10
13 5
14 0
15 12
というデータから
列A 数
10 2
11 0
12 1
13 0
14 0
15 0

という結果を得るSQLはどうかけばいいのでしょうか?
CURSORで1件1件countとるSPにして処理したら望む結果は得られたのですが、
会社の先輩に死ねって言われますた

誰か親切な方教えてください。おながいすます
203NAME IS NULL:03/10/27 22:35 ID:???
SELECT a, (SELECT count(*) FROM 表 tt WHERE tt.b = t.a) AS 数
FROM 表 t
・・・という解釈でいいのかな?
204NAME IS NULL:03/10/29 13:17 ID:???
Oracle8iです。
A表,B表,C表を外結合して、表Dのkey値で抽出し、数レコードを得る時、

select *
from A, B, C
where a.key = b.key(+)
and a.key = c.key(+)
and a.key = c.key(+)
and a.key in ( select key from D )
;

とするのと、

select *
from (
select * from A where a.key in ( select key from D)
) A,
(
select * from B where b.key in ( select key from D)
) B,
(
select * from C where b.key in ( select key from D)
)
where a.key = b.key(+)
and a.key = c.key(+)
and a.key = c.key(+)
and a.key in ( select key from D )
;

ってするのは、一般的にどっちが高速でしょうか?
各表は数十万レコードしかないとします。
後ろの書き方はなんかキモチワルイので余り書きたくないけど。

205NAME IS NULL:03/10/29 22:20 ID:???
> and a.key in ( select key from D )

これって a.key = d.key と何か違うのかな

> select * from A, B, C

こういう書き方ってできたっけ
それとも「数レコード」ってcount(*)のこと?

> and a.key = c.key(+)
> and a.key = c.key(+)

同じ行が2つあるのは書き間違い?

で、DBがあるならSQL Trace取って比較してみるのが一番かと。
206NAME IS NULL:03/10/30 10:43 ID:Cm6Ec6od
この板で初めて質問します…
A、B、Cとテーブルがあるのですが、大中小の部門と考えてください。
それぞれの部門にはIDが振ってあって、ソート順を示しています。

A-1、A-1/B-1、A-1/B-1/C-1
A-2、A-1/B-2、A-1/B-1/C-2
A-3、A-2/B-3、A-1/B-1/C-3
A-4、A-2/B-4、A-1/B-1/C-4

こんな感じなんですが、並べ替えて(列がない状態で)

A-1、
   A-1/B-1、
        A-1/B-1/C-1
        A-1/B-1/C-2
        A-1/B-1/C-3
        A-1/B-1/C-4
   A-1/B-2、
   A-2/B-3、
   A-2/B-4、
A-3、
A-4、
こんな感じに並べ替えて表示したいんですが、どういったビューを作ればよいでしょう??
NATURAL FULL JOINとか、ファンクション(プロシージャ)を使っても、今ひとつ
しっくりこないです。
207NAME IS NULL:03/10/30 11:47 ID:H1EkQI65
すいません、IBMのCICSってデータベースじゃないですよね?
208206:03/10/30 12:24 ID:???
単純に
FOR ... LOOP
FOR ... LOOP
FOR ... LOOP
END LOOP
END LOOP
END LOOP
なのかな。でもうまく動かないんだよね。・・・
209NAME IS NULL:03/10/31 07:28 ID:???
テーブルを一個にまとめて
ttp://www.philly.ne.jp/~hanya/oracle/ora9902.htm
CONNECT BY句を使う
210206:03/11/04 05:23 ID:???
>>209
初めて知りました。階層問い合わせ、というやつですね。なるほど!便利そうです。
と、調べたら、PostgreSQLには階層問い合わせ関数が実装されてませんでした。。。(涙
CONNECT BY句を参考にさせていただいて、結構調べてみたら、Postgresユーザーは
ファンクション、ストアドプロシージャでしのいでるようです。。

>>208でなんとなく、近いものが出来たんですが、孫のあたりのループで詰まって
しまいました。でもなんとか頑張ります。ヒントをありがとうございました。
211NAME IS NULL:03/11/04 20:07 ID:???
PostgreSQLってどうやってアンインストールするんですか?
212NAME IS NULL:03/11/05 00:38 ID:???
ルートになって
rm -rf /
213NAME IS NULL:03/11/05 04:52 ID:???
>>212
ぉぃぉぃ

>>211
何にどうやってインストールしたPostgreSQLなんでしょう?
214NAME IS NULL:03/11/06 03:19 ID:???
SQLについて質問させてください。
テーブルAとテーブルBがあり
テーブルAには更新日付とその他情報、
テーブルBには月判別サイン('before'か'after'が格納されています)とその他情報が入っています。

テーブルAの更新日付の年月がシステム日付の今月以前(今月含む)なら
テーブルBの月判別サインが'before'のものと結合、
それ以外なら'after'のものと結合させて表示したい場合、どのようなSQLになるのでしょうか?
DBはoracleです。
お分かりになる方がおられましたらどうかよろしくお願いします。
215NAME IS NULL:03/11/06 03:21 ID:???
SQLについて質問させてください。
テーブルAとテーブルBがあり
テーブルAには更新日付とその他情報、
テーブルBには月判別サイン('before'か'after'が格納されています)とその他情報が入っています。

テーブルAの更新日付の年月がシステム日付の今月以前(今月含む)なら
テーブルBの月判別サインが'before'のものと結合、
それ以外なら'after'のものと結合させて表示したい場合、どのようなSQLになるのでしょうか?
DBはoracleです。
お分かりになる方がおられましたらどうかよろしくお願いします。
216213:03/11/06 03:24 ID:???
二重投稿申し訳ないです。
217214:03/11/06 03:26 ID:???
↑名前間違えました。。。
何度もすいません
218NAME IS NULL:03/11/06 03:40 ID:???
いまいちよう分からんけど、unionでするとかPL/SQLでするとかってところじゃないのかな。
219NAME IS NULL:03/11/06 11:50 ID:8NtSTsdz
MSDE2000についての質問です。
Windows2000AdvancedServerのクラスタサーバーで動くのでしょうか?
220NAME IS NULL:03/11/06 21:39 ID:???
select a.others, case when a.datetime < sysdate then b1.others else b2.others end
from A a, B b1, B b2
where b1.sign = 'before'
and b2.sign = 'after'
and ...;
221NAME IS NULL:03/11/07 00:46 ID:???
>>219
フェイルオーバーしたければ要EnterpriseEdition
222NAME IS NULL:03/11/08 00:25 ID:4ES5D67C
ADOとDAOはどっちを使ったらいいのでしょうか?
DAOは将来無くなるのでしょうか?
223NAME IS NULL:03/11/08 01:46 ID:???
MDBならDAOでいいでそ。
それ以外ならADO、又はベンダー提供の物
224NAME IS NULL:03/11/09 17:33 ID:/kHY1cK7
DBの勉強始めるにあたっては、
やっぱりオラクルマスターから始めるのが無難ですか?
今の仕事は別にゴリゴリDBいじってるわけではないですし、
現場によってDBは違うけど(今はSYBASE)、
なんか面白そうなので勉強しようかと思ってます。
どうでしょう。
225Oracleさん:03/11/09 21:57 ID:kx43WMh0
こっちで質問すべきだったようですね。ごめんなさい。

質問なんですが、Oracle6i、Oracle7i、Oracle8iってそれぞれ
いつ頃発表されましたっけ?
知ってる方、覚えている方いらっしゃいますか?
226NAME IS NULL:03/11/10 00:07 ID:azISbiT4
Oracle6iとか7iとかいう製品は無いので注意。
手元の資料だと、リリース時期は以下の通り。

Oracle7
7.3.2 1998年より前
7.3.3 1998年より前
7.3.4 1998年より前

Oracle8
8.0.3 1998年より前
8.0.4 1998年より前
8.0.5 1998年10月
8.0.6 1999年12月

Oracle8i
8.1.5 1999年5月
8.1.6 2000年4月
8.1.7 2000年11月

Oracle9i
9.0.1 2001年10月

Oracle9i Release2
9.2.0 2002年9月

Oracle10g
10.1.0 2004年1月予定

古い情報知りたい。
あとOracle6って見たこと無い。
227NAME IS NULL:03/11/10 00:25 ID:azISbiT4
USのRelease Notesを漁ってきた。
USでの話なので少しずれがあるかもしれない。

Oracle7
7.1.6 1995年5月
7.2.3 1996年1月
7.3.2 1996年5月
7.3.3 1997年4月
7.3.4 1997年11月

Oracle8
8.0.3 1997年7月
8.0.4 1998年5月

あいかわらずOracle6の情報はまったく見つからない。
228NAME IS NULL:03/11/10 11:33 ID:32YTYQ7B
E.F.Coddの書いた、SQLのバイブル的本といえば、何があるでしょうか。和洋
問いませんが、できれば和書で……。
229NAME IS NULL:03/11/10 20:02 ID:eprXiJRw
http://news.www.infoseek.co.jp/topics/society/loan.html
闇金DBはオラクルで構築したのでしょうか?
230Oracleさん:03/11/11 13:26 ID:JPABM/Fz
>>226=227さん
丁寧なご回答ありがとうございました。
まだまだ初心者なのでトンチンカンな質問ですいませんでした。
でも助かりました!
231NAME IS NULL:03/11/11 14:45 ID:BDRnqB/1
MySQLをインストール中です。
環境 TurboLinux6.5 SERVER
MySQL4.0.16(Binary)

/usr/local/mysqlにMySQLを展開しました。

/usr/local/mysql/bin/mysqld_safe --user=mysql &
でmysqlは起動するのですが
コマンドラインでの操作をしようとしているのですが問題発生です。

[root@web mysql]# ./bin/mysql -u root -p
Enter password:
ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)

このようなエラーが出てしまいます。なんなんでしょう?
232NAME IS NULL:03/11/12 00:33 ID:???
>>231 その英語がわからないやつに使う資格はないと書いてある
とりあえず本屋でMySQL本買うべし。
233NAME IS NULL:03/11/12 04:56 ID:???
>>231
起動の時にユーザ名いれれ。つーか本かえ。
234231:03/11/12 09:12 ID:???
>>232-233
本は3冊ほど持ってるんですけどねぇ。
インストール方法は本によって、WebSiteによって
違うんですよ。
Webにあるやつは未だに3系のインストール方法を
説明してたり。

でもなぜか結局うまくいきましたです。
235NAME IS NULL:03/11/14 10:43 ID:KJCK4mDh
MySQL4.0.16(Linux)を使用

パスワードの変更の仕方を教えてくださいな。
既にパスワードは設定済みです。

/usr/local/mysql/bin/mysqladmin -u root password "newpassword"

このコマンドではこのようなエラーが出ます。
bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user: 'root@localhost' (Using password: NO)'

あとMySQLに接続できるユーザを複数にしたいのですがどうすればいいでしょうか?
236NAME IS NULL:03/11/14 11:33 ID:exmZqLba
>235
mysqlにrootではいれないの?
そのあと、GRANT文を実行するんじゃダメ?
237235:03/11/14 12:37 ID:???
>>236
rootで入れるんですけどね、パスワード変更したかったもので
パスワードの再設定は
mysqladmin -u root -p password new_password
このコマンドでいけました。

238シノ:03/11/14 13:37 ID:b4clniy1
DMPファイルからデータをインポートした際に、テーブルや権限はそっくり復元されるのですが、
PUBLIC SYNONYMが消えてしまいます。
インポートする際に、どうしたらSYNONYMまで復元されるのでしょうか?
239NAME IS NULL:03/11/16 16:09 ID:ATmzkEYI
初級シスアド試験を受けたいのですが、
SQLの本を一冊やるのと
ACCESSの操作を一通り覚えるのと
どちらを先にしたほうがいいですか。
一回シスアドの勉強に挫折しているので
今度はちゃんとやりたいのです。
あと、EXCELもMOUSE一般を取得してから
シスアドの勉強に取り掛かったほうが
いいでしょうか。
240NAME IS NULL:03/11/16 23:43 ID:???
シスアドはOfficeのスキルを図る試験じゃない。
試験範囲はもっと広く浅い事くらいわかるだろ?
SQLの本を一冊やってもAccessを覚えていいが、それ以外の部分が全く素人なら
それだけでアウトだろ。
っつーか、なんで素直にシスアド試験本をやらないのか理解に苦しむ。

・・・それ以前に板違いカモナー
資格板行ったほうが酔い。
241NAME IS NULL:03/11/17 14:37 ID:???
初心者です。よろしくお願いします。
windowsでDBを始めようと思うのですが・・・最初は何から入ったらやりやすいですかね?
今まではオフコンでCOBOLをやっていたのですがそろそろwindowsに移行しないといけないもので
242いなむらきよし:03/11/17 19:22 ID:UAJJXCVn
キケー!
243NAME IS NULL:03/11/17 20:46 ID:???
http://pc4.2ch.net/test/read.cgi/swf/1066235454/l50
のスレで17から634に行ってそれから625の動画を見てしまいました
動画をパソコンの履歴や動画のファイルの消し方ってどうやるんですか?
244NAME IS NULL:03/11/18 08:49 ID:???
>>241
会社で使ってる(使おうとしている)データベースがあれば
それを使ったほうが良いかと思います。
245NAME IS NULL:03/11/18 10:29 ID:???
お前ら、COUNT(*) と COUNT(field) の違いについて教えろ。

後者にNULLレコードが含まれない限り
前者=後者となるという理解は間違いなのか?
246NAME IS NULL:03/11/18 22:14 ID:cSe9cgHx
http://search.jhnet.go.jp/route/index.html

このようなシステムはアクセスでは無理なのでしょうか?
よろしければ、どのように作るか教えてくだされ!
247NAME IS NULL:03/11/18 22:25 ID:???
「このようなシステム」が何を指すのか。
Webアプリという事なのか。
248NAME IS NULL:03/11/18 22:36 ID:???
>>245 * は使わないなー。なにが起きるかわからんから。
249NAME IS NULL:03/11/18 23:25 ID:???
>>246 「TVの作り方教えてください」って言ってるようなもんだぞ。
250NAME IS NULL:03/11/19 18:23 ID:???
オラクルマスターのどのへんがテクニカルエンジニアDBに相当するんですか?
251NAME IS NULL:03/11/19 18:55 ID:???
オラクルに依存しない部分だろ。
どっちにしろ方向性が違う資格。やるなら両方取れ。
252オラ:03/11/19 19:06 ID:buoE7gCD
質問でス。
oracleでトランザクション処理をする場合って、
テーブルをロックしてから、更新データはいったん
rollbackセグメントに入りますよね。

この時、rollbackセグメント内に蓄積されるのって、
更新データ自体が入って、commitと同時にテーブルに
反映されるのでしょうか?

それとも、テーブルをロックして、
そのまま更新を行い、UNDOやREDOログが
セグメント内に蓄積されるのでしょうか?

参考書を読んだのですが、いまいちわかりません。
初歩的な質問で申し訳ありません。
253NAME IS NULL:03/11/19 19:19 ID:???
>>252
> oracleでトランザクション処理をする場合って、
> テーブルをロックしてから、

テーブルをロックすることはあまりありません。

> 更新データはいったんrollbackセグメントに入りますよね。

ロールバックセグメントには元に戻すための更新前データが入ります。
更新データはSGA内のデータベースバッファキャッシュに即時反映されます。

> commitと同時にテーブルに反映されるのでしょうか?

SGA内のデータベースバッファキャッシュには既に反映されています。
COMMITと同時にREDOログファイルに反映されます。
その後チェックポイントが走るとデータファイルに反映されます。
254オラ:03/11/19 19:26 ID:buoE7gCD
>>253
NAME IS NULLさん、ありがとうございます。
ロールバックセグメントには元に戻すための
更新前データが入るのですね。
そうしましたら、rollbackを行った場合って、
ロールバックセグメントから、基のデータを
データベースに反映するだけって事ですね。
255NAME IS NULL:03/11/19 21:04 ID:???
>>251
別物なんれすね
資格はソフトウエア開発者のPGれす
ストアドプロシージャ組んだりSQL生成して投げるコード頻繁に書いてます
DB関係の仕事多めなんでこっちの資格も取りたいなと
256NAME IS NULL:03/11/22 21:32 ID:???
postgres7.4です。

sei   |  mei
------+----
山田   太郎
山田   太郎
鈴木   一郎  ← ここは重複してない。
田中   花子
田中   花子
(以下延々)

といった具合に、姓名が一部重複したテーブルを作ってしまいました。
ここから重複した物を1つに直すにはどういう方法があるでしょうか?
257NAME IS NULL:03/11/23 00:32 ID:???
>>256
同じテーブルを一時的に作る
CREATE TABLE temp () INHERITS (original_table);
そこに重複行をはぶいてコピー
INSERT INTO temp SELECT DISTINCT * FROM original_table;
元のテーブルのデータ消す
DELETE FROM original_table;
tempからコピー
INSERT INTO original_table SELECT temp;
一時的なテーブル消去
DROP TABLE temp;

こんなんでどう?バックアップ作ってからやってね
258NAME IS NULL:03/11/23 00:33 ID:???
×INSERT INTO original_table SELECT temp;
○INSERT INTO original_table SELECT * FROM temp;

手打ちだとミスるなあ、実行するときは慎重に・・・
259256:03/11/23 01:06 ID:???
ありがとうございます。

>DELETE FROM original_table;

のところで、tempの内容も消えてしまいました。。。^^;

もしかしてinheritsだったからなのでしょうか。
とりあえず、方針わかりましたので、ありがとうございます!
distinctってのでテンポラリに移して再構築すればいいのですね。
何とかできそうです。ありがとうございました!
260NAME IS NULL:03/11/23 01:17 ID:???
>>259
>tempの内容も消えてしまいました。。。^^;
これはすまんかった。
temp使ったときは元のを消したりしなかったから
気がついてなかった、、、ありがと
261NAME IS NULL:03/11/23 20:33 ID:bLtoQoVU
SQLサーバー2000で、

テーブルに挿入するたびシーケンス番号を、0000001〜9999999まで+1しながら採番して
いくにはどうしたらよいですか!?

262NAME IS NULL:03/11/24 00:21 ID:OYPiXpEa
>>261
採番したいフィールドをuniqueにすればいいんでないの?
http://www.sqlpassj.org/bunkakai/begin/series/s03/0311.aspx
263NAME IS NULL:03/11/24 03:29 ID:???
264NAME IS NULL:03/11/24 13:34 ID:rSuAMXw4
テーブルA
製品ID,部品ID1,部品ID2

テーブルB
部品ID,部品名

というテーブルがあるのですが、これらから

製品ID,部品名1,部品名2

というような出力を得たい場合どのようにすればよいでしょうか?
265NAME IS NULL:03/11/24 15:29 ID:???
部品名2って何だよ?
266NAME IS NULL:03/11/24 15:37 ID:???
いや、それ言うなら部品名1だって(w

>>264
joinを使う。
テーブルBを同時に二つ使う。(別名を利用して)

でやってみてください。
joinとかの書き方は自分で調べてね。
267NAME IS NULL:03/11/24 20:35 ID:???
HTMLのフォームから入力した文字を
SQLの検索条件に組み込むにはどうすれば良いのでしょうか?

sql = "SELECT 製品番号, 製品名, 価格 " & _
"FROM 製品表 " & _
"WHERE 製品名 LIKE '% INPUT_DATE %' ;"
の"INPUT_DATE"をフォームから入力したいんです。
268NAME IS NULL:03/11/24 22:53 ID:???
>>267
OS/DBMS/言語を記入汁。
269NAME IS NULL:03/11/24 23:24 ID:???
>>267 OSはWIN98でDBMSはAccessです。
Personal Web Serverで作ったサーバの
データベースをフォームから検索しようとしています。
270初心者:03/11/25 01:57 ID:cQQYKpJJ
Oracle8iを利用しています。
SQL*PLUSやJDBCで実行されたSQLのログを調べたいのですが、
どのようにすればいいんでしょう?
271あぼーん:あぼーん
あぼーん
272NAME IS NULL:03/11/25 06:15 ID:uk3Y+IjF
Access2000で質問です

テーブル(Aとします)のフィールドでリストボックスのルックアップで別のテーブル(Bとします)を参照して
データを入力したいと思っています。

テーブルBは

ID,商品名
1,みかん
2,りんご
3,かき

のようになっています。で、テーブルAの該当フィールドにはIDを入力したいのですが、
「リストボックスに表示されるのは商品名だけど、入力されるのはID」とするには
どうすればよいのでしょうか。
値集合ソースにSELECT [B].[ID], [B].[商品名] FROM Bと入力し、連結列を1、列数を2と
しているんですが、これだとIDを入力してはくれるんですが、リストボックスにIDと商品名両方
表示されてちょっとみにくいんです。

よろしくおねがいします。
273NAME IS NULL:03/11/25 07:17 ID:???
274NAME IS NULL:03/11/25 21:29 ID:UR+Xi4xd
EXISTSの意味がわかりません。
詳しい例を交えながら、手取り足取り教えて下さい。
おながいします。
275NAME IS NULL:03/11/25 22:07 ID:???
>>274
googleで
SQL EXISTS
キーワードで検索してみて。
いくらでも参考文献でてくるから。
276NAME IS NULL:03/11/26 14:49 ID:???
選択クエリーで
ソート後上から順番に番号をつけていくフィールドを作りたいのですが
その方法がわかりません。
お教えいただけますようよろしくお願いいたします。
277260:03/11/26 15:51 ID:???
>>257 のDELETE FROM は、ONLY をつけるといいらしい・・・
一応書いておきます
278NAME IS NULL:03/11/27 05:27 ID:+p8lMKpX
http://mentai.2ch.net/prog/kako/965/965618236.html   K仲川について
http://pc.2ch.net/prog/kako/990/990876626.html     K仲川についてpart2
http://pc.2ch.net/prog/kako/1027/10271/1027113507.html K仲川についてpart3
http://pc.2ch.net/test/read.cgi/prog/1032169313/    K仲川についてpart4

279NAME IS NULL:03/11/27 14:10 ID:FDJsOnH7
Aテーブルにa,bという項目があり
Bテーブルにc,dという項目がある状態で
bとdが同じレコード同士を関連づけするとして

パターンとして
@aが違う2つのAレコードに対しBレコードが1つの場合はa2つの合計を。
AAレコード1つに対しcが違う2つのBレコードの場合はa1つの値を。
BAレコード1つに対しBレコード1つの場合はa1つの値を。
Caが違う2つのAレコードに対しcが違う2つのBレコードの場合はa2つの合計を。

の条件を行えるSQL文を教えてほしいのですがわかりますでしょうか?

ちなみに今は
select sum(A.a) from sale left outer join B on A.c=B.d group by A.c
等としてるんですがAの条件の時にaの合計が表示されてうまくいきません。

280NAME IS NULL:03/11/27 21:05 ID:???
>>279
ANSIならCASE
OracleならDECODE
でいけるんじゃない?
281NAME IS NULL:03/11/28 09:51 ID:???
ACCESSでインポートの処理をマクロを使って自動化したいのですが
例えばマクロを実行すると、ファイルを選ぶ画面で希望するファイルの種類も選択済みになって
ファイルを決定すると、その後の設定をすっとばして、というかあらかじめプログラムした設定を行って
いきなりインポートなんてことはできますか?
282281:03/11/28 10:04 ID:???
ちょい、書き忘れ
インポートするのは他のDBだけでなく、CSV TXT XLS などのファイルからもやろうとしています
283NAME IS NULL:03/11/28 12:10 ID:???
できる
284281:03/11/28 14:10 ID:???
即レス、どうも
自分でも色々調べ、今、CSVファイルを既存のテーブル(うまい棒)にインポートする
というようなことをやりたくて、アクションの引数を

変換の種類インポート
データベースの種類ODBC データベース
データーベース名C:\Program Files\mona.CSV
オブジェクトの種類テーブル
オブジェクト名
変換先名うまい棒
テーブルの構造のみ変換いいえ

という風に書いて実行してみたのですが、『インストール可能なISAMドライバが見つかりませんでした。
と表示されうまくいきません、これを解消するにはどうしたらいいでしょうか?
285NAME IS NULL:03/11/28 16:40 ID:???
CSVのインポートはテキスト変換じゃないかい?
286281:03/11/28 17:27 ID:???
>>285
おかげさまで、できますた
287NAME IS NULL:03/11/29 17:03 ID:2802Dju8
アホな質問させて下さい
MySQL+phpで、bbsという名前のテーブルのレコードの総数が知りたくて、
$count = mysql_query("select count(*) from bbs");
とやったら、全然訳の分からない数字を格納してくれました。。なんで?
ちなみに
$all = mysql_query("select * from bbs");
$count=mysql_num_rows($all);
だったら総数取得できたけど、、これはいやだ。カコワルイ
288NAME IS NULL:03/11/29 18:28 ID:???
あたりまえだ。
select * from bbs だったらどんなreturnを期待するんだ?
289NAME IS NULL:03/11/30 00:06 ID:???
>>287
$all = mysql_query("select count(*) from bbs");
$count=mysql_num_rows($all);

だったら何が返ってくるかやってみろ。
290NAME IS NULL:03/12/01 03:08 ID:vzhFep4z
macといえば4D、しかもマルチプラットフォームで
複雑なDBが組めるのはこれだけだったんですが
最近、どうなんですかね
スレもないし、Web検索してもユーザーグループが
みつかりません

ファイルメーカーで限界を感じて乗り換えようと思った
んですが、もう終わっちゃってますか?
291NAME IS NULL:03/12/01 08:46 ID:???
マクロを使って、オブジェクトの削除でなくテーブル内のデータを全件削除したいのですが
どうやったらいいでしょうか?
292291:03/12/01 08:47 ID:???
あ、スンマソン
ACCESS2002です
293NAME IS NULL:03/12/02 09:49 ID:???
ACCESSなんですが
レポートで、一人の人に対して住所や電話番号・年齢・性別といった『一人一つ』のレコードをまとめた単票形式のレポートと
資格や家族など、一人に対して複数のレコードを表形式にまとめたレポートを合わせて作りたいのですが
どうしたらいいでしょうか?
294NAME IS NULL:03/12/02 10:25 ID:???
>>291
[SQLの実行]で削除するSQL書けば出来ませんか?
削除するSQLが分かんなかったら削除クエリ作ってSQLをコピーすれば出来るし。

>>293
がんばれ。本とか読んでがんばれ。
サブフォーム(ぼそ

抽象的な質問には抽象的な回答しか出来ないかと。
295293:03/12/02 16:17 ID:???
>>294
できますた、サブレポートってどうやんのかと思ってたら超図解読み返してみたらフォームと同じでやんの(゚∀゚)
それで>>293でも言ったように、単票形式のフォームの中にいくつか表形式のサブフォームを入れたんですが
ttp://www.42ch.net/UploaderSmall/source/1070348971.JPG
こんな具合に、それで赤丸の部分の単票のところのみに二件目のデータを入れたのですが表示されません
改ページして、また新しいレコードを表示させたいので、『詳細』の中の改ページのプロパティもいじってみましたが
変わりはありませんでした、これを表示させるにはどうしたらいいですか?

296293:03/12/02 16:24 ID:???
自己解決しました
ただ、一件目も二件目もそれぞれ次のページに空白の1ページが挿入されてしまいます
297293:03/12/02 16:41 ID:???
スマソ、また自己解決した
いや、とりあえず何かやってみるものだね
298NAME IS NULL:03/12/03 05:57 ID:???
Access使ってRDBを設計しています。
テーブルに一つ、長さが不定の配列が欲しいのですが、
DBで配列モドキってフィールドにArray1 Array2...
ってやってくしかないのでしょうか(;´Д⊂)
299NAME IS NULL:03/12/03 07:40 ID:???
「長さが不定の配列が欲しい」というところを見直す。
300NAME IS NULL:03/12/03 11:49 ID:???
ACCESS2002で複数のテーブルを使った単票形式のレポートを作っているのですが
ひとつのテーブルが空のレコードがあると、他のテーブルにレコードが入っていても、その分も何も表示されなくなってしまいます
例えば
Aテーブル…番号、名前
Bテーブル…番号、年齢、性別、所属
Cテーブル…番号、郵便番号、住所、電話番号
という3つのテーブルがあり、AとBには全てのレコードが入っているがCのテーブルは空となった場合にAもBも表示されなくなってしまうということです

これをレコードが空のテーブルがあっても、他のテーブルの分は表示できるようにしたいのですが、どうしらいいでしょうか
301NAME IS NULL:03/12/03 12:30 ID:???
結合条件見直せば?
302298:03/12/03 14:52 ID:???
>>299
レスサンクス。やっぱそれですか…

固定長でもやっぱり field0 field1... って連番でfieldを作るしかないですか?
303NAME IS NULL:03/12/03 15:15 ID:???
>>302
テーブル設計見直せ
304NAME IS NULL:03/12/03 15:39 ID:???
>>302
2個のテーブルに分ければいい
key name
key sub_key field
305300:03/12/03 17:13 ID:???
>>301
レス、サンクス
え〜、結合条件はよく解らなかったのでサブレポートにして無理矢理単票形式風味にしてしまいました
しかし、今度は何故かプレビューを開くと>>300で言うAテーブルの名前でパラメータの入力が出てきてしまいました
このパラメータが何を指しているか解らなかったので、とりあえず半角で「1」と入力してやると
何の異常もなく、全てのレコードが表示されたました
このパラメータ入力がいちいち出ないようにしたいのですが、どうしたらいいでしょうか?
306298:03/12/04 08:19 ID:???
>>303
ど、どうすれば…_| ̄|○

>>304
そうすると、テーブルが膨大な数になってしまって現実的ではないかと…
数千単位でテーブルがあるDBって普通ですか?
DB専用にチューンしたPCではなく、
他のタスクと一緒に普通のPCで走らせるDBとして…
307NAME IS NULL:03/12/04 08:58 ID:???
ハードがCPU450MHzでメモリは188MBのパソコンなんですが
サブレポートを四つほど使った、レポートのプレビューを開こうとすると2・3分かかってしまいます
最適化してみたのですが、特に変わりもありません
こいつをもうちょっと早くするには、ハードウェアをいじる以外に手はないのでしょうか?
308NAME IS NULL:03/12/04 11:40 ID:???
>>305
(´・ω・`)全然違うよ。。。
多分ACCESSに聞かれてるのは、結合しているクエリでうまく結合できてないか
ない項目名になってる部分。
出てくるパラメータを聞く画面の中に項目名[???]ってのがACCESSで見つけられない部分。
見直せってのは、クエリ作る画面で
┌─┐  ┌─┐
│  ├─┤  │
└─┘↑└─┘
     ここの線をダブルクリック(もしくは右クリックで結合プロパティ)
すると、結合条件が出てくるのでよく読んで合う条件に変えなさいって意味です。>301は

>>306
>304さん(僕じゃないです)が言うのはそういう意味ではないかと。
横に不定にするのは得策じゃないので、1テーブルで縦に(レコードとして)しなさいよって意味かと。
これを「第1正規化」という。らしいです。違ってたらすまんです。

>>307
サブレポートを一個ずつ表示させてみて、遅い奴を直す。(テーブルにインデックス作るとかで)
サブレポート4つって事は、一緒に5つのものを作ってるわけだから
遅くなるのが当たり前かと思いますが。。。

まとめてレス見難かったらごめんなさい。
309NAME IS NULL:03/12/04 14:32 ID:???
>>308
ご丁寧に、ありがとうございます
インデックスとか追加したんですけど、全部リンクテーブルなんですよ
どうやら、まずその辺を見直さなきゃいけないみたいですね
310NAME IS NULL:03/12/04 21:16 ID:???
>>306
こういうテーブルがあったとしたら
key name f1 f2 f3
0 hoge a b c
1 fuga x y z

こうする
key name
0 hoge
1 fuga

key sub_key field
0 1 a
0 2 b
0 3 c
1 1 x
1 2 y
1 3 z

ずれたらスマン

それでもテーブル数が膨大になるというなら設計がおかしい
311NAME IS NULL:03/12/05 14:44 ID:???
削除クエリを複数開く、マクロを作っているのですが実行しても
一番上の行に書いてある削除クエリしか開かれません、これを全ての削除クエリを開くようにしたいのですが
どうしたらいいでしょうか?
312NAME IS NULL:03/12/06 00:24 ID:???
>>311
何のシステムの話?
なんとなくAccessっぽいが・・・
313NAME IS NULL:03/12/06 01:40 ID:???
Accessだろうな。
マクロの話ならAccessスレで聞いたほうがいいと思う
314NAME IS NULL:03/12/06 09:16 ID:???
Microsoft Access
http://pc2.2ch.net/test/read.cgi/db/1056952414/

Accessならこっちですよ〜。
315298:03/12/06 15:43 ID:???
298です、遅くなりますた。
ちょっと整理を…

テーブルAとテーブルBがあります。
テーブルAのレコードから、テーブルBのレコードを参照しています。
ただ、参照先のレコード数が不定です(ここが多分一番の問題…)
想定最大レコード数はテーブルAが数千〜1万、テーブルBが数百〜数千です。
なのでテーブルAのレコード別にテーブルを作るのは、非現実的なのです。
そこで悩んでいるわけなんです。

>>308サソ
多分、これをテーブルにするのは上記理由で難しいかと…

>>310サソ
なるほど。なんとか理解できました。
おかげさまで>308サソの仰っていたことも理解できました。
ズレはキニシナイ。
ただ、sub_keyに追加削除が加えられた際の再ナンバリングはどうすれば…?
がしがしUpdate文を発行させるのでしょうか…(;´Д`)
とりあえずaccessと入門書と格闘してみます…
316NAME IS NULL:03/12/06 16:18 ID:???
多くのAccess入門本にはこういった設計に関する事って全く載っていない事が多かったり・・・
正規化でぐぐってみて出てきたサイトを見るほうが賢明かと思われ
317NAME IS NULL:03/12/06 16:23 ID:???
>がしがしUpdate文を発行させるのでしょうか…(;´Д`)
よくやるのは、keyで一旦デリートして全部インサートし直してますな。
プログラムの動作によるんでしょうが。。。
318NAME IS NULL:03/12/06 17:19 ID:???
>>315
>テーブルAのレコードから、テーブルBのレコードを参照しています。
>ただ、参照先のレコード数が不定です(ここが多分一番の問題…)

1対n、n対nのリレーションなら、テーブルAとテーブルBの間に
リレーションのためのテーブルを噛ませるといい

key_a name_a
0 hoge
1 fuga

key_b name_b
0 x
1 y
2 z

key_a key_b
0 0
0 2
1 0
1 1
1 2
319NAME IS NULL:03/12/06 17:22 ID:???
すまん、1対nの時は中間テーブル不要だ。
n対nの時だけな。
320NAME IS NULL:03/12/07 02:50 ID:???
データベース村へようこそ
321NAME IS NULL:03/12/08 08:56 ID:???
ACCESS2002でサブレポートの並び替えをしたいのですが
「親」と「子」の「子」にあたる方のレポートの設定を変えて、そのレポート単体で開いた時は並べ替えられたのですが
親の方のレポートを開き、親の項目に合わせて子のデータが抽出されるときになると
その並びが反映されません、この並びを反映さえたいのですがいかがしたらいいでしょうか?
322321:03/12/08 10:39 ID:???
スンマソン、自己解決しますた
323311:03/12/08 11:47 ID:???
>>312-314
しーまシェーん、ACCESSです
誘導までどうもっス
324NAME IS NULL:03/12/08 20:32 ID:???
テーブル名に@マークを使用するには、どのようにすればいいのでしょうか?
325NAME IS NULL:03/12/08 22:28 ID:???
データベースがよく分かんないけど使っちゃダメ(はぁと
326NAME IS NULL:03/12/09 09:14 ID:???
ACCESS2002です
CSVファイルを新規のテーブルにインポート→テーブルのレコードを全て削除→
→空になったテーブルに、再び同じファイルからインポート
という作業をすると、一種類の項目でいくつかインポートエラーが起こってしまい
最初のテーブル作成時のインポートでは入力されていたのに、二回目ではデータが入っていないという状況になってしまいます
これを二回目以降のインポートでも、全てのレコードを正確に入力させるようにしたいのですが
どうしたらいいでしょうか?
327326:03/12/09 09:19 ID:???
ちょっと書き忘れ
二回目のインポートはマクロで『テキスト変換』を使っています
で、マクロを使わずに、ファイル→外部データの取り込み→インポートならばエラーも出ずに問題ないのですが
これをこれをマクロを使ってもエラーがでないようにしたいのです
328NAME IS NULL:03/12/10 00:13 ID:I3zgspsi
石井さん著の「PostgreSQL完全攻略ガイド 改訂第三版」
3.8.6 インデックスと関数インデックス(P191)
を一応一通り読みました。インデックス=索引 と理解しています。

そこで、次のようなテーブル(userdata)があったとします。

Attribute | Type |
----------------+--------------------------+
id | integer |
name | text |
mail | text |
birth | date |
Indices: userdata_pkey

このうち、idはシリアル型として定義したので、自動的にインデックスが作成さ
れています
create unique index userdata_pkey on userdata (id);



[質問1]
さて、質問なのですが、この場合インデックスの恩恵にあずかるのは
select * from userdata where id=34;
のようにインデックスとして登録したidを対象に検索した場合であり、
select * from userdata where mail='[email protected]';
のように、インデックスとして登録していないmailフィールドを検索対象とした
場合は意味がないということでよろしいでしょうか?

[質問2]
質問1での私の推測が当たっていると仮定して・・・
select * from userdata where mail='[email protected]' and name='多田'
のような検索を行う場合、有効なインデックスとは

create index userdata_mail_name on userdata(mail,name)
のように2フィールドをまとめたインデックスの方がよいのでしょうか?
それとも・・・

create index userdata_mail on userdata(mail)
create index userdata_name on userdata(name)
のようにフィールドごとにインデックスを作成した方がよいのでしょうか?

すいませんが、よろしくお願いいたします。
329NAME IS NULL:03/12/10 15:17 ID:???
>>328
EXPLAIN
330NAME IS NULL:03/12/10 15:24 ID:???
少なくともOracleでは2フィールドをまとめた複合索引の方が良い
Postgreもこれから勉強しなきゃなー
331NAME IS NULL:03/12/11 11:27 ID:???
すみません教えてください

テーブルの名前なんですが、

マスタデータなら TM_Foo
トランザクションデータなら TT_Boo

てな感じでつけてるんですが、
その他のデータはどういう命名をしていけばいいかわかりません。
332NAME IS NULL:03/12/11 11:56 ID:???
>331
前にしたがってテーブルの種別の頭文字でいいんじゃない
その他のデータ、ってのに何があるのかは洗い出されてんの?
333NAME IS NULL:03/12/11 14:07 ID:???
その他のデータなら、ETC_Poo
334NAME IS NULL:03/12/11 22:38 ID:TxfgNqBy
[質問]
Oracle9iDatabase関連の質問です。
グラニュルサイズの影響以外で初期化パラメータで定義した共有プールの値が
インスタンス起動時に修正(増加)されるケースってどんな理由が考えられますか?
ご存知の方いらっしゃったら教えてください。
335NAME IS NULL:03/12/11 23:32 ID:???
>>334
動的SGAで構成されている環境において
ALTER SYSTEM SET SHARED_POOL_SIZE=XXX; を行う
データベース起動トリガが仕掛けてある場合。
336NAME IS NULL:03/12/11 23:54 ID:TxfgNqBy
>>335
回答ありがとうございます。
そんなんされてたら死にたくなりますね。(笑)
なんか不安になってきた・・・。一応調べてみます。
337334:03/12/12 00:14 ID:???
>>334
そういえばV$SGA_DYNAMIC_COMPONENTSに何もなかった気がする。
ここになかったら起動後の変更じゃないですよね。
さっぱりわかりません。
338334:03/12/12 00:15 ID:???
>>335でした↑
339339さん:03/12/12 12:39 ID:???
不甲斐ない339でございまつ。
どなたか、教えて下さい。

        長所   短所
PostgreSQL   
MySQL      
Access     
Oracle     
340NAME IS NULL:03/12/12 19:43 ID:yFLBpzKI
ヤフーのブリーフケースにDATABASE1というデータベースソフトに書き込んだデータを入れておいたのですが
それをダウンロードして開こうとしても「適切なグラフィックインポータが見つかりません」と表示されてしまいます。
しかもJPEGファイルになってるのですがこれでいいのでしょうか?

当方マックです
341NAME IS NULL:03/12/12 21:21 ID:trSynshc
―――――――――――――――コピペ推奨―――――――――――――――

祭りキタ━━━━━(゚∀゚)━━━━━!!!!キタ━━━━━(゚∀゚)━━━━━!!!!
殺人予告祭り開催中!!!!
なんとあの司法試験板で殺人予告!!!
予告レス
http://school.2ch.net/test/read.cgi/shihou/1057116261/770
次スレ
http://school.2ch.net/test/read.cgi/shihou/1071230662/
http://school.2ch.net/test/read.cgi/shihou/1071230653/
342NAME IS NULL:03/12/13 02:26 ID:???
>>339
PostgreSQL
長所:無料
短所:性能、可用性要件が厳しいところではなかなかOracleに勝てない

MySQL
長所:無料
短所:適用分野がやや限定、機能が少ない

Access
長所:安上がり、技術者を集めやすい
短所:適用分野が限定、中〜大規模システムは無理、Windows版しかない

Oracle
長所:大規模、高信頼性システムで実績がある、技術者を集めやすい
短所:1プロセッサあたり500万円+年間保守が定価の22%と高い
343339さん:03/12/13 10:55 ID:???
342さんに感謝している339でつ。
342さん、わざわざどうもありがとうございました。
344NAME IS NULL:03/12/13 11:42 ID:???
Accessの短所にこれも入れてくれ
ファイル共有型DBであり、マルチユーザ環境には向かない、と。
345NAME IS NULL:03/12/13 17:14 ID:xWodPxue
>>342
PostgreSQLの性能は短所と言うほど遅くないっしょ。
短所といえばツール類の不足かな?

Oracleはバグが多く(おもにツール類だけど)、バグフィックスには
年間保守(定価の22%)が必要って事だと思う。

あと、Accessを出すならSQLサーバも必要かと。
346NAME IS NULL:03/12/13 20:05 ID:???
>>342
まるでフリーRDBMSに長所がないみたいだな(w
とか、宗教戦争を煽ってみる。

>>345
MS SQL Server を出すならSybaseも(ry
347NAME IS NULL:03/12/14 00:34 ID:FAvMEVSj
すいません
mySQLとoracleとsqlサーバや他のSQLなどの違いを教えてください
システムを構築する時に
各SQLに何かしらメリットや有利な点があるから採用されると思うのですが
どう違うのでしょうか?

SQLの操作だけならそんなに変わらないと思うので
違いがよく分かりません
教えてください
348NAME IS NULL:03/12/14 00:47 ID:???
>>347
お金をくれたら教えてあげます。
349NAME IS NULL:03/12/14 15:58 ID:???
>>347
・SQLハンドブック等を買って各DBMS毎のSQLの差異を調べる。
・良く特集で書かれているDBMSの比較の記事でSQL以外の差異も調べておく。
・「各社毎にそちらのDBMSは他社さんとどこが違うの」と訊く。
あと必ずしも直接的な性能やコストが「お客さんにとって」メリットに
なるから採用されるとも限らないワナ。開発側が慣れてるから間接的に
コストが下がるとかの理由で採用してもらったりもする。

#最近仕事をMLとかに○投げしてると思われる人ら多杉。気のせいか?
350NAME IS NULL:03/12/14 23:03 ID:gdcNSZuM
SQLの勉強始めたいのですが初心者向けのお勧めの本教えてください。
漏れとしてはオラクルシルバーを取りあえずの目標にしようと思ってるので
黒本買おうと思ってるんですが…
351NAME IS NULL:03/12/14 23:31 ID:???
お国自慢板で本日 祭 り 開 催 中 !
一匹のアニオタが顔晒しを宣言しました。

【顔晒し】レオパルト ◆SONedAgUwE【大宣言!!】
http://travel.2ch.net/test/read.cgi/chiri/1071410090/l50

君も現代日本の歪みが生んだ生き証人の顔晒しをリアルタイムで拝もうw
352NAME IS NULL:03/12/15 01:10 ID:???
>>350
資格試験用の本はよくわかんないけど
Oracleについて勉強するんなら、OTNのサイト逝って
Oracle本体とPDFマニュアルを全部ダウソして
Linux鯖にインスコして遊んでみるべきだと思う。

最初はdba_tables表あたりを教材にselect文を叩く勉強を
すればいいんじゃないかな。createしなくても最初から
そこにあるしね(w
353NAME IS NULL:03/12/15 04:20 ID:???
慣れるまではインスコからして超大変。
カーネルパラメータ?SHMMAX?(゜Д゜)ハァ?って言う。

でもやってみるべき。
354NAME IS NULL:03/12/15 06:48 ID:???
>>342
それに関連して、MS SQL Serverはどうでしょうか?
355NAME IS NULL:03/12/15 12:43 ID:YJFMAqWn
oracleを使用したいのですが
500万円を持ってない貧乏人は
体験版しか使用できないのでしょうか?
356NAME IS NULL:03/12/15 16:52 ID:???
>>355
開発時ならOTNのライセンス取ってOTNライセンスのOracleが使える。
試用なら30日トライアル版がある。折れはトライアル版を開発用と
勘違いしててちょっと恥じかいたことがある。ちゃんと開発用と試用で分かれてる。

単純に、500万のものを貧乏だから安くという話なら、
そもそも500万の製品使う価値がない用途って事だから
さっさとそんなIN/OUT悪すぎな事業やるの止めた方がいいな。
個人で使いたいなら個人向けのOracleもあるし(俺ならAccess使うが)
500万のはOracleの言う可用性欲しけりゃこのくらい出せ的プライスなので、
小規模向けの製品も勿論ある。まあそういう用途はMS SQL Serverに食われてる訳だが。
蛇足だが俺はMS信者じゃなくて、MySQLマンセーな香具師なので誤解無きよう。

#だれかFirebirdの長短書いて。
357NAME IS NULL:03/12/15 20:44 ID:LE6NlQhv
Oracle シルバー と 何を勉強したら就職できますか。(できそうですか)
358NAME IS NULL:03/12/15 21:05 ID:???
君が今聞いたような事を自力で調べ行動できる能力を身に付ける事が一番の近道だと思うよ。
359NAME IS NULL:03/12/15 22:32 ID:4gVL0v3C
oracle認定の試験で
PL-SQLってありますが
あれって何でしょうか?
360NAME IS NULL:03/12/15 23:22 ID:???
あまり知らないので方向性を変えてみた。

MS SQL Server
長所:Setup.exeをダブルクリックするとインストールできる
短所:Slammer Wormで眠れない夜を過ごせる

Firebird
長所:知るぞ人知るところが優越感をくすぐる
短所:Mozilla Firebirdと紛らわしい

IBM DB2
長所:メインフレーム版DB2の並列シスプレックス構成はすごいらしい
短所:AIXやWebSphereなどもねじ込まれて、プロジェクトをIBMに牛耳られてしまう
361360:03/12/15 23:28 ID:???
知る人ぞ知る(´・ω・`)
362NAME IS NULL:03/12/15 23:40 ID:???
>>360
setup.batかsetupsql.exeな

>>359
認定されたかったら自分で勉強してくれ
363NAME IS NULL:03/12/16 02:06 ID:???
なんとなく思いつきでこんなん作ってみました。
http://tubo.kakiko.com/database/index.html

他にもあれば、適当に更新していければと思います。
#勝手に引用しちゃってすいません。>引用した方々
364NAME IS NULL:03/12/16 09:26 ID:dGtxLQgb
Postgressの部分に異議あり。

・性能、可用性要件が厳しいところではなかなかOracleに勝てない。
性能では負けてない。可用性要件では負けてる。
365363:03/12/16 14:24 ID:???
ちこっと、更新。
366NAME IS NULL:03/12/16 14:53 ID:???
>363
おおっ、こういう比較表あるとわかり易くてヨイですな。
個人的な要望としては、
・公式サイトへのリンク
・オンラインヘルプへのリンク
・ユーザ向けコミュニティサイトへのリンク
等が整理されると更に良いのでわと感じました。
367NAME IS NULL:03/12/16 22:06 ID:???
DB2/400使う事になりそうです。 Accessのクエリーみたいにマウスで
操作することなしに手打ちでSQLしているんですかぁ?
368NAME IS NULL:03/12/17 01:34 ID:???
>>367
いい機会だろうからSQL書けるようになってみたら?
つぶしが利くようになると思うよ
369NAME IS NULL:03/12/17 01:54 ID:???
漏れはOracle使いだけど大抵のデータ抽出は手でSQLごりごり書いてるよ。
更新系は恐いからツール作ったりPL/SQL書いたりいろいろ。

5年もSQL叩いてるとGUIでぐりぐりするよりSQL文を手で
打ち込んだほうが早い。モノにもよる。
370NAME IS NULL:03/12/17 12:31 ID:???
Solaris9にpostgresql7.3.5をインストールしたいのですが
configureでつまづいてます。
# ./configure --enable-multibyte=EUC_JP
(checkingなんとかがいっぱい出力される)
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for fseeko... (cached) yes
checking test program... failed
configure: error:
*** Could not execute a simple test program. This may be a problem
*** related to locating shared libraries. Check the file 'config.log'
*** for the exact reason.
postgresユーザのenvは次のようになってます。
PATH=.:/usr/ccs/bin:/usr/local/bin:/usr/bin:/sbin:
  /usr/sbin:/etc:/usr/lib:/usr/ucb:
LD_LIBRALY_PATH=/usr/lib:/usr/local/lib:/usr/openwin/lib
ちなみにUNIXチョー初心者の17歳女子高生です(ハァト
371NAME IS NULL:03/12/17 14:38 ID:???
CSVファイルをマクロでインポートする際のインポート定義を変えたいのですが、ファイル→外部データの取り込み→インポート
の手順ならばテキストインポートウィザードが起動しますがマクロでインポート定義を変更するやり方がわかりません
マクロのテキスト変換でのインポートの際にインポート定義を変えるにはどうしたらいいでしょうか?
372NAME IS NULL:03/12/17 23:01 ID:63ObLRjy
まったく同じ内容のレコードが2レコードある場合、1レコードのみを
削除するSQL文を教えてください。お願いします。
373NAME IS NULL:03/12/17 23:06 ID:???
>>372
Oracle限定だけど

SQL> select * from test;

COL1
----------
10
10

SQL> delete from test where col1 = 10 and rownum = 1;

1 row deleted.

SQL> select * from test;

COL1
----------
10
374NAME IS NULL:03/12/17 23:10 ID:63ObLRjy
なるほど!!rownumがポイントみたいですね、早速実行してみます。
ありがとうございました。
375NAME IS NULL:03/12/19 08:57 ID:???
隠しオブジェクトにしていたテーブルに対してインポートを行うと
また現れてしまいますが
これをインポートを行っても隠しのままにしておくにはどうしたらいいでしょうか?
376370:03/12/19 09:41 ID:???
370ですけど、だれかおしえて〜
板違いかもしれないけど
最後1行はうそです。ごめんなさい
377NAME IS NULL:03/12/19 18:34 ID:???
>>371,375
Accessスレで聞いたほうがよさげ
http://pc2.2ch.net/test/read.cgi/db/1056952414/

>>376
ここだと誰も答えられなそうな予感。
Solarisのスレで聞いてみたら? どこにあるか知らんけど。
378NAME IS NULL:03/12/19 22:47 ID:???
379NAME IS NULL:03/12/20 19:27 ID:Fj+l+wkM
よろしくお願いします。

"オブジェクト指向データベース"とは具体的にどんなものなのでしょうか?

.............(ITワールド、(株)インフォテック・サーブ発行)より抜粋.............

 オブジェクト指向データベースとは、データ処理手続きを一体化(カプセル化)
したオブジェクトで管理するデータベースである。
 通常のデータベースでは、利用者がデータに対する処理を考える必要があったが、
オブジェクト指向データベースでは、利用者特定の指示(メッセージ)を与えるだけで
データを処理することができる。
.......................................................................................

具体的にどんなものなのかイメージできません。
どなたか教えてください
380NAME IS NULL:03/12/20 19:29 ID:1+2Myoj+
http://f24.aaacafe.ne.jp/~poemu/
愛のポエムサイト
381NAME IS NULL:03/12/20 23:05 ID:axkED4PZ
XP Homeをつかってます。

mysql-4.0.17というデータベースを使うためのソフトをインストールしようとし、SETUP.EXEをダブルクリックしたら、アプリケーション実行エラーがおこり、

ファイル c:パス\SETUP.EXE(または必要なファイル)が見つかりません。パスおよびファイル名が正しいか、必要なライブラリがすべて使用可能かどうか確認してください

といわれました。パスとファイル名はもちろん正しいです。必要なライブラリというのがどうもわかりません。

ver3.23.54でもためしにインストールしようとしたところ、やはり同じことをいわれます。

どうしたら正常なインストールができるのか、教えてくれたらすごくうれしいですm(__)m
382NAME IS NULL:03/12/21 00:53 ID:???
>>381
インスコ要件にxpも入っているのは確認したが
エラーを書け

俺は試しにmysql-4.0.17をダウンロードし
w2kproでインスコしたが問題は中田
383NAME IS NULL:03/12/21 10:58 ID:???
>>381
デスクトップにおいて実行したりしてない?
パスに日本語や空白を含まないフォルダを作ってそこから実行したらうまくいくかも
384NAME IS NULL:03/12/21 11:01 ID:yyHYerGZ
>>381
あ、そのエラー俺もつい昨日出た。
DLしたファイルをLhaplusで解凍してsetup.exeをダブルクリックしたら、全く同じエラーが出たよ。
DLしなおして別の解凍ソフト使ったら上手く行ったけどね。
ちなみにOSも同じWinXP HOME。

で、俺も質問です。
PHPに用意されているMySQL関数に、
mysql-connectで返されたMySQL接続IDを引数に取る関数がありますが、
手元の本によるとこの引数は省略可能だと書かれています。
しかし、必要の無い引数ならあるはずが無いし・・。
何故省略可能なのでしょうか?PHPの特権?
それとも、必要になる場合があるのでしょうか?
385NAME IS NULL:03/12/21 11:06 ID:yyHYerGZ
今更だけどPHPスレで聞くべきだったか・・
スレ違いスマソ
386NAME IS NULL:03/12/21 20:29 ID:???
>>384
PHPが引数省略された際に、内部的に保持してる最後にオープンした値を
自動的に入れている(利便性)だけで、C APIの引数として指定しなくても
良いものじゃないよ。

DBを複数オープンして、その間でデータのやり取りするようなアプリを
書けば「何故省略可能?」とか「引数の必要性」とかの疑問は氷解すると思うよ。
387381:03/12/21 22:50 ID:DZRbM2Uw
解凍したときにできたmysql-4.0.17-winというフォルダの名前をaに変更したら何故かwelcome画面になりました。
レスしてくれた方ありがとうございました。
388NAME IS NULL:03/12/22 01:23 ID:???
>>363
体験版ダウンロードへの直リンもよろ
389NAME IS NULL:03/12/22 13:34 ID:???
>379
例えば「自転車」というオブジェクトがあったとしよう。
今まではこの「自転車」に対して
「A地点からB地点まで動かす。」
という処理を書く必要があったわけだ。

オブジェクト指向では、そのオブジェクトにできることがあらかじめ
定義されているので
「自転車よ、A地点からB地点まで動け。」
というメッセージを与えてやるだけで処理を行ってくれるということ。
390NAME IS NULL:03/12/22 21:27 ID:EtIEzWCs
>>389
その比喩がいけないんだと思う。

自転車オブジェクトは、自分で用意する必要が有るんだから。
391松井 ◆...VBh.www :03/12/23 01:13 ID:n6hM8f4+
皆さんはじめまして
突然ですがYAHOOのトップにチャットという項目があるのはご存知ですよね?
そちらのチャットのカテゴリの中に「政治」があります
その政治カテゴリのユーザールームに「創価学会YAHOO支部」という部屋があります
そこの部屋に遊びにきてください
ボイスチャットもフル稼働です
みなさんの中にも創価学会に対するご自分の意見をどんどん言ってください
その宣伝でした
尚、人数制限がありますので(50人)すぐに満室になって入れなくなるので
今これを読みまして興味を持たれた方はおはやめのご入室をお勧めします
392NAME IS NULL:03/12/23 01:26 ID:???
CD-ROMドライブの無いHP-UXにOracle8iをインスコするにはどうしたらよいですか?
393NAME IS NULL:03/12/23 02:15 ID:/6e+SmYW
当方、DB始めたばかりで設計段階で躓いてまふ。
作りたいDBは以下のようなイメージ。

年に数回本棚の配置換えが必要です。本マスタはすでにあります。

本code 本名 著者名・・
-------------------
book01 A本 あ氏 ・・
book02 B本 い氏 ・・

これに配置換えのテーブルを作りたいんですが、いままではEXCELで

本棚 2003_1 2003_2 2003_3
-------------------------
cab01 book01 book02 book01
cab02 book02 book05 book03

(bookはユニーク、ただし本棚に入っていない物もあり)

と配置換え毎に横にフィールドをのばしたテーブルを作っていました。
しかし、本棚が60,000を超えそうなのでEXCELでは限界が。。

最終的に見せたい物としては、
本名 2003_1 2003_2 2003_3
-------------------------
A本 cab01 null cab01
B本 cab02 cab01 null

という表。excelではmatch関数あたりで何とかしていたんですが、
RDB?というかAccessではどのように定義づければいいんでしょうか?
394NAME IS NULL:03/12/23 13:55 ID:???
>>392
CD-ROMの中味を全部ftpしてもよし、NFSでマウントしてもよし。
GUIインストーラへの対処としては漏れはvncserverを鯖に
インスコして使ってる。
395NAME IS NULL:03/12/24 10:47 ID:???
マクロが正常に実行された場合に、確認のメッセージを出したいのですが
(例えばマクロでインポートならば『正常にインポートされました』等の文を出す)
そうゆうことは可能でしょうか?
396NAME IS NULL:03/12/24 14:47 ID:???
まったくのド素人ですみません。

MySQL(もしくはpostgre)
で外食チェーンの一覧表テーブルを作成して
チェーン別の連番を主キーにしたいと思うのですが、
(例 MacDo1 Staba5 Mos4 みたいな感じです。)
このような場合
テーブルは各外食チェーンごとに別々に作成して
個別のテーブルの連番で管理しないといけないのでしょうか?
それとも
一つのテーブルにあらゆる外食チェーンをぶち込んでも可能ですか?

397NAME IS NULL:03/12/24 20:51 ID:???
CREATE TABLE 外食チェーン(
 チェーン, 連番,
 所在地, …,
 CONSTRAINT PRIMARY KEY (チェーン, 連番));

チェーン 連番 所在地
------- ---- ---
MacDo  1
MacDo  2
Staba  1
Staba  2
Mos   1
Mos   2
Mos   3
398NAME IS NULL:03/12/27 05:18 ID:???
データベースの項目名に漢字を使うのはどうよ?
399NAME IS NULL:03/12/27 10:18 ID:???
TDD3BP1 なんていう項目名よりはよほど好ましい。(⊃д`)
400NAME IS NULL:03/12/27 21:31 ID:???
>>399

どこのシステムか分かったぞ。














そして藻舞が誰なのかもな
401NAME IS NULL:03/12/27 23:34 ID:???
>389
そのDBが2バイト文字による命名を公式にサポートしていて、かつ
他のシステムやDBとの連携は考慮しなくてよいならOKだと思う。
402NAME IS NULL:03/12/28 17:02 ID:???
>>393
RDBでは横方向を動的に増やすことはしないから
時系列のデータはレコードを追加していく。

date 本棚 本
--------------
2003_1 cab01 book01
2003_1 cab02 book02
2003_2 cab01 book02
2003_2 cab02 book05


あとは見せる側でどうにかするんだが、
EXCELのピボッドテーブルなんかでどうにかできるんだろうか?
よく知らんので誰か頼む。
403NAME IS NULL:03/12/30 18:30 ID:???
>>402
EUCなら仰るとおりExcelでピボット使うのが簡単だね。
漏れも非定型な集計でよく使うよ。

業務アプリで埋め込みSQL使う時はサブクエリーを
from句に大量に並べて外部結合する(w
必要とあらばSQL文を動的に生成するぐらいのことはする。
集計するロジックを業務アプリにコーディングすることもある。
非正規化したテーブルを作ると維持更新が面倒なので、
バッチ処理が入りそうなことはあんまりやらない。
ここらへんはケースバイケースだけどね。
404NAME IS NULL:04/01/02 15:57 ID:gte0M2fP
動画を見ようとすると
@「Microsoft Chatの会話のファイルではありません」
A「指定されたデバイス、パス、またはファイルへのアクセスは拒否されました」
のどちらかが表示されることがあります。
それぞれどうすればいいか教えてください。
405NAME IS NULL:04/01/03 17:47 ID:uJJaA4z/
MySQL 5.0.0-alpha をインストールして本読みながら勉強してたのですが
テーブルが作成できなくて困っています。
create table person(id int AUTO_INCREMENT PRIMARY KEY, name char(20));
と入力すると、エラーメッセージが
ERROR 1146 (42S02):Table'mysql.proc' dosen't exist
と出てしまいます。この場合はどのように対処すればいいか
どなたか教えていただけると助かります。
ちなみに、OSはXP Homeです。
406 :04/01/04 20:19 ID:XHsDwE5w
Kさん 好循環  Aさん 悪循環  
 (健康体)  (喘息)

1.(天国・霊界が喘息であるかないかを決める)
2.K 喘息でない人 A 喘息の人は
は体力がある    体力がなくなる

3.K        A 行動力、五感(嗅覚)が鈍り感性が変化する。
4.K&A 天国・霊界は異常な感性の人間は本来人に迷惑をかけ
るから外に出てはいけないと思っている。

5.K 変化なし   A アトピーになる
6.K 正常な感性  A 外に出なくなりさらに異常な感性になる。
7.K 正常な人間   A 異常な人間(レッテル)
8.K&A 死  9.K&A      来世
10.K&A 天国・霊界は異常な人間は人に迷惑をかけるので行動
を抑制する必要があると思っている。

11.K&A 天国・霊界が喘息であるかないかを決める 12.K 喘息でない  A 喘息である
13.K&A    1.に戻る

これは事実。広めようぜ
解決法:寝て起きて、やな気分でも、続けるけること。
体力をつけると感覚が正常に戻り、
アトピーも快癒に向かう。 目安としてグランドを10週くらい。
あとはウォーキング 2.3時間を目安にウインドーショッピングや本屋めぐり
鼻に変な違和感があったり、気分の悪い時は、
お腹の中の空気を出さなくてはならない。
口をしっかり閉じたまま、口の中に空間を作り、
口の中にできた空気を吐き出す。
これを100回から200回。
407NAME IS NULL:04/01/06 01:15 ID:Y7tiwV5D
すいません、すごい初心者的な質問なんですが。

表A

コード  内容
-------------------
01 AAA
02 BBB
03 CCC

表B

コード  内容
-------------------
01 AAA
03 CCC

上記のような表があったとき、

コード  内容
-------------------
02 BBB

上記1行を出力したい場合、INとEXISTSとANY以外の問い合わせ
の仕方がありませんでしょうか?本当に初心者的な質問で申し訳ありません
が、お願いします。
408まさお:04/01/06 02:14 ID:QW6kERcC
A minus B
409NAME IS NULL:04/01/06 20:33 ID:???
外部結合して片方がNULL
410NAME IS NULL:04/01/07 01:23 ID:???
カーソルで表Aのレコード1件ずつループ

>INとEXISTSとANY以外の問い合わせ

ていうか、そいつらを除外する意図を教えれ。
411そら:04/01/08 15:54 ID:a0co9P6g
20040107を2004年1月7日に変換したいのですが、できることなんでしょうか。
2004/01/07なら、できると思うのですけどね。

僕、初心者なんで、更新クエリを使って、変換しようと思うのですけど。
412NAME IS NULL:04/01/09 17:30 ID:MzxbZFQ4
例えばpostgresqlで
create table test (a integer, b text, c timestamp) のようなテーブルを作って
データを貯めているとします。 a,bは同じでcが違うものが幾つもあるとして
その中で timestampが一番新しいものだけを集めるのはどう書けば
よいでしょうか。
413NAME IS NULL:04/01/09 18:32 ID:???
group by を使うかサブクエリーを使う。
414NAME IS NULL:04/01/09 18:56 ID:nEuHzQUa
すいません質問です。mdbと同じ感覚で、ファイル形式で扱える
データベースソフトでいいのありますか?
データベースサーバーソフトではなくあくまでファイルとして
だけ使いたいのですが。よろしくお願いします。
415NAME IS NULL:04/01/09 18:57 ID:nEuHzQUa
すいません質問です。mdbと同じ感覚で、ファイル形式で扱える
データベースソフトでいいのありますか?
データベースサーバーソフトではなくあくまでファイルとして
だけ使いたいのですが。よろしくお願いします。
416NAME IS NULL:04/01/09 23:18 ID:MzxbZFQ4
>143 ありがとうございます。
select a, b, max(c) from test group by a, b; と書けるのか。一つ利口になりました。
417NAME IS NULL:04/01/10 04:33 ID:???
意味わかんねー
あくまでファイルとしてだけ使いたいならファイル使うしかないじゃん
418NAME IS NULL:04/01/10 10:41 ID:???
おそらく

・DBMSじゃなく、単一アプリケーションからつかればよい
・テーブル/テーブルスペース、制御ファイルなどが分かれて
いるのではなく、データベース全体が1ファイルになっている

てことだろう
いいのがあるかどうかはしらんが
419NAME IS NULL:04/01/10 12:06 ID:???
だとしたらSQLiteか。
SQLはどの程度解釈できれば良いわけ?
前段のプログラムで処理してDBに対して難しいクエリ与えないの?
420415:04/01/10 13:35 ID:NhBxVdbf
レス有難うございます。
質問の意味は418さんでほとんど正解です。
10名程度のユーザー環境を現在ACCESS2000+VB.net
で運用中です。
SQLSERVR2000への移行が最も現実的のようだけれども、
予算が・・・サーバーが現状無い・・・
といった事情で、.mdbファイルを共有にぶち込んでVBで使いまわす。
といったことと同感覚で使用でき、ファイル上限が無いものを望んで
います。そんな都合のいいものってあります?

421NAME IS NULL:04/01/10 15:17 ID:k7XCBmVq
質問です

tA
id | title
-------------------
1 | aaa
2 | bbb
3 | ccc

tB
id
-----
1
1
2

上記のようなテーブルがあったとして、tB.idはtA.idを参照しているとします。
それでtAに加えて、tB.idがtA.idに等しい行数を一緒に引いてくるにはどうしたらいいでしょうか。
適切な言い回しが思い付かず分かりにくい表現になってしまいましたが、イメージ的には以下のようなものです。

tC
id | title | cnt
-------------------
1 | aaa | 2
2 | bbb | 1
3 | ccc | 0

SELECT *,(SELECT count(tB.*) FROM tA,tB WHERE tA.id=tB.id) AS cnt FROM tA;
と書いても駄目ですよねぇ…
よろしくお願いします
422NAME IS NULL:04/01/10 15:27 ID:???
>>420
ファイルメーカーとかはどうでしょ?僕は使ったこと無いけど(w
あとは、桐とか五郎とか(ぉぃ

参照スレ
ファイルメーカーのスレ
http://pc2.2ch.net/test/read.cgi/db/1056952780/

>予算が・・・サーバーが現状無い・・・
ま、どっかで妥協しなきゃねぇ。。。

>>421
DBMSわかんないので、「外部結合」で調べてみて下さい。
423421:04/01/10 16:59 ID:???
ありがとうございます>>422
自己レスですが、外部結合で調べてやってみました。

SELECT tA.id,
tA.title,
count(tB.id) AS cnt
FROM tA
LEFT OUTER JOIN tB ON (tA.id = tB.id) GROUP BY tA.id;

一応目的は果たせたように思います。よく理解していないせいもあって、なんだかスッキリしてませんが。
もしどこかおかしいところとか、もっと適切な書き方があればご教授ください。
424415:04/01/10 18:05 ID:PMmxMnfE
>>422
レス有難うございます。なんとか.mdbが2Gになるまでに
予算を獲得します。(w
425NAME IS NULL:04/01/10 20:11 ID:???
>>423
「外部結合」と言っても
テーブルAにあればテーブルBに該当のキーが無くてもデータを抽出しちゃうだけです。
(通常の結合では、キーの無いものは抽出しない)

今回はそれに集計(group by)があるので理解しにくいですが、
理解を深めようと思えば、group byを取り除いてデータ見てみるとよいかと思います。


>>424
がんばれ(w
(´-`).。oO(予算が無い。。。他人とは思えない。。。)
426NAME IS NULL:04/01/11 23:48 ID:???
>420
Btrive/PervasiveSQLとかは?

っつーか予算云々って、デルあたりの安い鯖買って
MSDEブチ込むだけならトータル10万もしないと思うけど
427NAME IS NULL:04/01/12 18:52 ID:???
適当にサーバをでっち上げてMSDEを入れるのに賛成。
mdbは壊れることがあるから怖いんだよな。
どっちにしてもバックアップは不可欠だけどな。
428NAME IS NULL:04/01/13 09:52 ID:PEDhg58I
MSSQLにおいて、VIEWで使う検索キーを調べるには、どうすれば(どんなツール
を使えば)よいのでしょうか?
429NAME IS NULL:04/01/14 19:01 ID:fRh2HE+A
seimeiage
田中一郎18
山田花子19
佐藤太郎16

のとき「山田花子」で検索したいのですがどうすればいいのでしょうか
カラムを結合して検索…のような事がしたいのですが
430NAME IS NULL:04/01/14 20:25 ID:???
山田花子%
431だー:04/01/14 21:02 ID:BBKS7Ph0
だれか おせーてくだせー
txtからACCESSにインポートしたいんですけど、インポートエラーで数件Null値
1111111111ならokで、390000000ならnullでアウト
なじぇですか?
432429:04/01/14 23:03 ID:zd2iyRxU
書き方が違っておりました。

sei | mei | age
田中 | 一郎 | 18
山田 | 花子 | 19
佐藤 | 太郎 | 16

の3つのカラムからなるテーブルから検索を行いたいのです
おしえてください
433NAME IS NULL:04/01/15 05:29 ID:???
>>432
SQL> r
1 select * from test
2 where sei || mei = '山田花子'
3*

SEI MEI AGE
---------- ---------- ----------
山田 花子 19


Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 TABLE ACCESS (FULL) OF 'TEST'

これでできるけど、
全表走査になるからあまり性能がよくない。
434NAME IS NULL:04/01/15 12:16 ID:???
>>433
ありがとうございます。うまくできました。
このような操作は速度的に現実的ではないのですかね?
435まさお:04/01/15 21:06 ID:???
>434
規模によるよ。
レコードが少なければ問題ないし。
どういう用途で使用するか分からんが、普通はそんなテーブル設計はしない。
436NAME IS NULL:04/01/18 11:46 ID:???
Table1
CD1 | CD2
-------------------
1  | 001
1  | 002
2  | 001
2  | 002

Table2
CD1 | CD2
-------------------
1  | 001
1  | 001
1  | 002
1  | 003
2  | 001
2  | 002
2  | 002
2  | 003

という2つのテーブルから
Table3
CD1 | CD2 | CNT
-------------------
1  | 001 | 2
1  | 002 | 1
2  | 001 | 1
2  | 002 | 2
というテーブルをつくるにはどうすればよいでしょうか?
437NAME IS NULL:04/01/18 12:33 ID:???
Table1,Table2にどういう操作を加えてTable3に
したいのかが意味不明。
438NAME IS NULL:04/01/18 12:48 ID:???
CD1||CD2の数を数えたいんだろ。
439NAME IS NULL:04/01/18 12:57 ID:???
>>431
テーブルのカラムのサイズが小さい。
440NAME IS NULL:04/01/18 12:57 ID:???
unionしてからgroup byかけたらいいじゃんか
441NAME IS NULL:04/01/19 16:41 ID:IUDuYCoR
名簿をCD-ROM化したいのですが
どのような形式がよいのでしょうか?

やりたい事は名前検索程度です
HTMLでつくったものをCDに焼けばできると思っていたらできませんでした。
442NAME IS NULL:04/01/19 21:04 ID:???
>>441

名簿屋さんですね
443NAME IS NULL:04/01/20 18:20 ID:naqNDS8Q
これからDB2勉強したいと思ってる者です。(ACCESS歴のみ)
Personal Developer's Editionが安くて入手しやすそうなんですが
学習用途や個人用で使うにはどうなんでしょうか?
444NAME IS NULL:04/01/20 18:42 ID:???
>>441
雲龍型がいいんじゃない?
445NAME IS NULL:04/01/20 19:57 ID:???
5点
446NAME IS NULL:04/01/20 22:00 ID:???
SQL Server から Oracle9 へ引越しさせるんだが
いちばんてっとりばやい方法教えてください
447NAME IS NULL:04/01/20 22:47 ID:???
>>446
おまかせパックがいいんじゃない?
448NAME IS NULL:04/01/21 01:19 ID:???
PostgreSQLで質問です。

timestamp型の時間を使って、現在の時刻との差を得るにはどうすればいいでしょうか。
例えば、現在から2ヶ月以上過去のレコードを得たりしたいのです。
449NAME IS NULL:04/01/21 14:43 ID:???
MS-Accessで作ったデータベースを使い、データをフォームで更新、追加等していました。
データ数が多くなり、LAN上の他のPCを使って数人で追加、更新作業をしたいのですが・・・
Mysql+PHPで実験してみたのですが、フォームを作るのに手間がかかります。
ファイルメーカーはうまく使えませんでした。

この場合、どういったシステムを組むのが良いでしょうか。
450NAME IS NULL:04/01/21 18:12 ID:???
FlashでもVBでもJavaAppletでもなんでもいいと思うけど、
ODBCでリンクしちゃ駄目なのか?

PHPとかPerlとかJavaServletとかサーバサイドのものは、概して面倒。

それ以前に、PHPmyAdminやら、かねやんMySQLAdminで追加更新じゃ
駄目なのか?
451NAME IS NULL:04/01/22 00:10 ID:???
>>448
そのカラムと、 now() - '2 month'::interval を比較するとか
452448:04/01/22 00:23 ID:???
>>451
おお。どうもありがとう。試してみます。
453NAME IS NULL:04/01/22 00:29 ID:???
メインテーブル
名前 | 所属コード | その他データ
-------------------
Aさん  | 001 | 納豆好き
Bさん  | 002 | 醤油派

所属テーブル
所属コード | 所属名
-------------------
001  | A大学
002  | B大学
(所属コードと所属名は1対1の関係)

といった、よくあるテーブル構成の場合
Cさん B大学 朝はご飯
といったレコードを挿入するには

1、所属テーブルをセレクトしてB大学に対応する所属コードを得る
2、その所属コードを元に Cさん 002 朝はご飯 を挿入
といった風に2回SQLを発行しなければならないのでしょうか?
454NAME IS NULL:04/01/22 00:37 ID:???
>>453

SQL> r
 1 insert into メイン
 2 select 'Cさん', 所属コード, '朝はご飯'
 3 from 所属
 4* where 所属名 = 'B大学'

1 row created.

SQL> select * from メイン;

名前    所属コード その他データ
---------- ---------- ------------
Aさん   001    納豆好き
Bさん   002    醤油派
Cさん   002    朝はご飯
455NAME IS NULL:04/01/22 00:52 ID:???
>>454
サンクス。

セレクト→インサートっていう流れを自分で書いておいて
それを思いつかなかった自分が恥ずかしい。

参考になりました、多謝。
456質問:04/01/22 01:09 ID:???
http://www98.sakura.ne.jp/~vanagarden/cgi-bin/sarasi/icon/20040121221700.jpg
↑を見て以下の発言
この構成は・・・バカがボラクルの口車にのったか・・・

・キャラのステータス/持ち物情報はアプリサーバのメモリ上にて展開(でないと、サーバにいちいち更新かけることになる)
・一定時間毎にサーバに書き込み(多分エリアサーバ毎か?) アプリサーバのメモリ上にデータがあるので巻き戻りは 一連託生。
 でないと俺は〜〜、俺は〜〜、という厨集団不満爆発!! いっしょに■e死ね!!でもエリア限定で済む。
・データベースは更新時にREDOログに書き込みに行き、 書き込みにいったら実際のDBに書き込まれなくても
 保証される仕組み また、REDOログに書き込む迄は絶対に待たされる。
 →このへんはボラクルプラチナもってるやつなら誰でも知ってる
・エリア(サーバ毎)には人数制限かけていると思われ。 リソースは基本的に一定

なので、
予想:
とクラスターソフトなしでOracleだけでやってるっぽい
パラレルの負荷増大パターンにソクーリ。DBが頻繁に切り替え、止まる。
アプリ側でとりあえず、データを溜め込む。ズンドコ、溜め込み、行き場なし、
騙し、騙し、DBを運用。(人の手で監視)
あっ! アプリアボーン。 データアボーン、システムアボーンってパターンかと。

って指摘なんですがどうなんでしょう? MMORPG FF11の鯖構成です 少し続きます
457続質問2:04/01/22 01:10 ID:???
管理者:新規ユーザを割り当てるサーバがありません。
    新規に鯖追加してちょ。
■e:システム拡張予算なんてない!!
   現状のシステムで運営しる!!
管理者:やってられるか?(バカばっか)
    ユーザわりあてちゃる!どうなっても知らんぞ!?
システム:当初の限界を超え全面的にトラブル続き・・・
管理者:ほれみたことか?

ってパターンだな。
なまじRACで無停止システム巻き戻りナシっていうのを狙ったんだろうが。
まあ、某携帯電話屋のような莫大な資金をもった企業ならいざしらず、
たかがゲームメーカーに維持できるシステムじゃねーつーの。
それにな、ありゃ、巻き戻らないんじゃなくて、巻き戻せねぇだけだつーの。
よーくわかったわ、追加ディスクや今後の展開なんてできるわけないわ、
サーバーの維持費で追加開発なんて、費用でるわけないもんな。
458続質問2:04/01/22 01:11 ID:???
追加すんなら、データは巻き戻らないがロストする。

巻き戻る時は基本的にデータがぶっ壊れたんで、バックアップから
ヒーコラ、止めて戻しただけ。

これがあの無停止システムですか〜〜〜。

で、このSolaris8
"Intel"
ってなに?w
でまたまた×1400台って?www

ボラクルより
”息子”
にだまされてますがな。
SPARCこけかけているのにIntel Solaris担いで今更Linux対抗?
Solaris9でないところがまたミソ。
あ、Intel Solarisの在庫整理ですか。失礼しました。

1400台の鯖データを2台のRACサーバで
運用してたのか。
ユーザを利用した「耐久テスト」か何かですか?
俺らのキャラは−−終了−−製品で動いてたんですか。
こんなとこでコストダウンですか?

原因は予想も何も単にDBの負荷が逝っちゃっただけに見えるが。
切り替えも何も2ノードのこの構成で1ノード停止しただけで
システム逝くがな。
1ノードで運用可能な程の鯖買ってないでしょ?

こりゃ、メンテはいよいよDBノード追加くさいな。
でも3ノード以上稼働を想定した設計になっているのか?
システム設計はどこだ?
2ノードは厨でも運用出来るからね。
複数ノードはむずかちいでちゅよ?>■e

どーせ■eストレージとか系間とか全体を強化する方に
金も根性も頭も回らないやつらが
”ノード追加でオケーーー”
とかうんちくたれている方に予想。

いよいよその場しのぎ&祭りくさい。

で、ボラクルに泣きついて
”グリッド”10g
「今お勧め、全部入り」
入れてまたまた事例の殿堂入りケテーーーイの予感。
(晒し者ともいう)
459続質問4:04/01/22 01:13 ID:???
まじで、Intel Solaris っていうのが驚きだ・・・・
むしろ売ってませんよ、もうどこも・・・

ノード追加しても系間パスでふん詰まって、問題解決しないじゃん。
むしろノードが切り替わった瞬間に二台で受け切れなくて逝く。

あっ・・・そうか、今回、ノードが縮退して一台になって逝ったのか、もしかして・・
それは予想どころか、わかってたことなんじゃないか?
だめだ・・■e・・おまえらMMOむいてない。

つうかあのマジでボラクル10グラムの事例で出たらほんと晒しあげるぞ、■e。
あれは確実に欠陥商品でつよ

と二・三の方が申しておられるのですが指摘は正しいのでしょうか
460NAME IS NULL:04/01/22 03:09 ID:???
> パラレルの負荷増大パターンにソクーリ。DBが頻繁に切り替え、止まる。
> アプリ側でとりあえず、データを溜め込む。ズンドコ、溜め込み、行き場なし、
> 騙し、騙し、DBを運用。(人の手で監視)
> あっ! アプリアボーン。 データアボーン、システムアボーンってパターンかと。

何を言おうとしているのか分からない。
特に「DBが頻繁に切り替え、止まる。」のところ。
461NAME IS NULL:04/01/22 05:11 ID:???
あぼーんって覚えたから使ってみたかったんじゃない?
462449:04/01/22 12:47 ID:???
>>450
自分一人だったらそれでもいいのですが、実際使う人間がスキルが無い為、
フォームからデータ入力できるようにしたいです。
それと、複数のユーザが同時にデータベースにアクセスする、という点で
MS-ACCESSだと不安なので他のものを使おうかと考えていました。
何か良い案がございましたら、ご教授願います。
463NAME IS NULL:04/01/22 19:34 ID:???
>449
現状だけ見ると、サーバ立ててMSDE入れてクライアントのAccessからリンクってのがお手軽かもしれない。
でも、今後もデータ数や利用人数が増えていくなら、小手先の対応するよりキッチリお金だした方が幸せかと。
システム屋に発注するもよし、自力で構築するもよし。
要は予算と目的と運用体制によりけり。

市販されてるWebデータベースのパッケージなんかを使ってみるのも良いかもしれない。
サイボウズのデヂエとか見てみれ。
464NAME IS NULL:04/01/22 20:49 ID:???
すみません。教えて下さい。
アクセスの顧客名簿のメールアドレスあてに
一斉送信できるようにしたいと考えています。
いちいちアドレス帳に登録せずに済む方法はないでしょうか?
465NAME IS NULL:04/01/22 23:26 ID:???
>>464
プログラム組めば?
スパム業者に高く売れるぞ。
466NAME IS NULL:04/01/22 23:44 ID:???
>>465
464がスパム業者なのでは?
467464:04/01/23 00:15 ID:???
>>465>>466
レスありがとうございます。
いえいえ業者じゃありません。
PCはワードとエクセル、アクセスがちょこっと
位しかできない情けない者です。
そんなレベルなので、プログラムを組むなんてとても出来そうにないなぁ。
急にやるように言われて、
経費で落としてもいいと言われたので、何か変換ソフトでもあればいいかななんて
思っていたのですが甘かったみたいですね。
468NAME IS NULL:04/01/23 01:20 ID:???
>>467
どんなメーラ使ってるのか知らないけど、アドレス帳への登録って
一気にインポートできないっけ?

まあ、それが出来ない or 面倒ってなら、「メール 一括 送信」とかで
ググれば色々ヒットすると思うぞ。
469NAME IS NULL:04/01/23 02:54 ID:???
http://www.vector.co.jp/vpack/filearea/win/net/mail/index.html

この中から、一括とか同報とかで探せ。
470456-459:04/01/23 13:31 ID:???
スレ汚しになってしまいましたねスマソ
471NAME IS NULL:04/01/23 13:33 ID:???
自分の質問を汚しと言ってもいいだろうが、
回答まで含めて汚しというのは失礼すぎるな。
472456-459:04/01/23 20:19 ID:???
>>471
申し訳ない
473NAME IS NULL:04/01/24 10:33 ID:ZVRyeGRT
Microsoft Data EngineとMicrosoft Desktop Engineって同じものですか?
どっちもMSDEらしいんですが
474NAME IS NULL:04/01/24 12:51 ID:???
社員(社員コード、氏名)
部門(部門コード、部門名)
配属イベント(配属コード、社員コード、部門コード、配属日)

データモデリングのスレでこのようなテーブル構成を見たんですが
ここから指定日の氏名、部門名の一覧表を作るためには
どのようなSELECT分をかけばいいんでしょうか?

SELECT 氏名, 部門名 from 社員, 配属イベント,部門
where 社員.社員コード = 配属イベント.社員コード
&& 配属イベント.部門コード. = 部門.部門コード

までは分かるんですが、どうやって指定日の状態だけを取り出すのかがわからないです。
&& 配属イベント.配属日 <= 指定日
だと指定日以前の配属が全て表示されてしまいます。
475NAME IS NULL:04/01/24 13:24 ID:???
>>474
>>までは分かるんですが、どうやって指定日の状態だけを取り出すのかがわからないです。
>>&& 配属イベント.配属日 <= 指定日
>>だと指定日以前の配属が全て表示されてしまいます。
ネタか?
なんで、最後が「<=」なんだ?「=」でいいだろ。

476NAME IS NULL:04/01/24 13:32 ID:???
>>475
ネタでこんな長い文かかないですよ。

「=」にすると、指定日に配属移動があった人の一覧になりますよね。
そうじゃなくて、指定日から一番近い配属移動を拾ってきて
現在、どの部門に配属されてるかを一覧表示したいんですよ。
言葉足らずでした。
477475:04/01/24 13:55 ID:???
>>476
だよなぁ。なんでココだけ分からないのか謎だったし。
俺も詳しいわけじゃないし、動作確認もしてないけど、これでどうだろう。
副問合せってヤツを使ってみました。

SELECT 氏名,部門名 FROM 社員,配属イベント,部門
WHERE 社員.社員コード = 配属イベント.社員コード AND
配属イベント.部門コード. = 部門.部門コード AND
配属イベント.配属日 = (SELECT MAX(配属日)
FROM 配属イベント
WHERE 配属日 <= 指定日)

間違ってる、こう書いた方が良いとかあったら、教えてエライ人。
478教えて下さい:04/01/24 18:17 ID:7mE+Fkrm
今後、現代社会において理想的なデータベースシステムとは何だと思いますか??


479NAME IS NULL:04/01/24 18:30 ID:???
林家ペーの誕生日暗唱みたいな感じの、聞き方があいまいでも
きちんと答えてくれる人間データベースが一番便利。
480NAME IS NULL:04/01/24 19:17 ID:???
それをコンピュータで実現しようとすると
DBに自然言語認識用の単語DBが必要になるな。
481NAME IS NULL:04/01/24 20:00 ID:???
コンピュータでやる必要などない。
482NAME IS NULL:04/01/24 20:21 ID:???
無粋なレスを承知で
>>479>>478に「曖昧な聞き方するな」と言いたいだけ、だろ?

今後?何年先?
現代社会???
483教えて下さい:04/01/24 21:22 ID:7mE+Fkrm
現代社会です。
実は、授業でACCESS、SQLとかデータベースのことをやってて、その問題に「自分にとって現代社会おける理想的なデータベースとはどのようなものかについて論じなさい」
っていう問題がでたんですけど、どう答えればよいかわからなくて、少しでも何かアドバイス下さい。
お願いします。。
484NAME IS NULL:04/01/24 21:26 ID:fuwEfOec
チビロンゲデータベースってなんですか?
485NAME IS NULL:04/01/24 21:40 ID:fuwEfOec
チビロンゲのおまいらよ、おまいらはいま現在チビロンゲだが、
これからも永久にチビのまま人生を終わることは間違いないだろう。
そこで質問だが、おまいらの生きるはげみは何かな?
答えは





なし


486NAME IS NULL:04/01/24 21:53 ID:???
>483
そもそも「データベース」って何だ?
これに答えられたら助言くらいはしてやれるかもしらん
487NAME IS NULL:04/01/24 22:04 ID:???
>>483

私だったら「Enterprise Architecture」というキーワードを入れて適当に語るかな。
http://www.sw.nec.co.jp/lecture/word/ea/

あとは理想的でないデータベースとして「住民基本台帳」のダメ出しをして
逆説的にデータベースのあるべき姿を無理やり導く。

製品機能レベルの話はしない。
488教えて下さい:04/01/24 22:58 ID:7mE+Fkrm
>487さん、本当にありがとうございます。参考になりました。
     ここからは、助言を参考にして自分で考えてやってみます。
     本当にありがとうございました。 
489NAME IS NULL:04/01/24 22:59 ID:???
>>483
その現代社会とやらの構成員の業種、職種、DBスキルによって理想なんて千差万別なんだが・・・
490NAME IS NULL:04/01/24 23:00 ID:???
一歩遅かったか。ま、いいや。考えるって言ってるし。
491お願いします:04/01/24 23:50 ID:yDCqM0Aq
オラクルとサイベースのそれぞれ良い点、悪い点を教えて下さい。
まったくベタな質問で申し訳ありません。
よろしくお願いします
492孫悟羽愚 ◆9B5ELldDBw :04/01/25 16:30 ID:a+lnz2Fb
データモデリングで初心者でもわかる絵図の多い参考書はないですか?
493NAME IS NULL:04/01/25 17:18 ID:???
>>492

データモデリング基礎講座―データベース設計を楽しもう!
http://www.amazon.co.jp/exec/obidos/ASIN/4798101109/ref=pd_bxgy_text_2/249-3595918-5369110

実践的データモデリング入門
http://www.amazon.co.jp/exec/obidos/ASIN/4798103853/ref=pd_bxgy_text_2/249-3595918-5369110

DBマガジン連載記事が単行本化されたシリーズは、ハズレが少ないと思う。
http://www.seshop.com/share/category.asp?cid=1967
494NAME IS NULL:04/01/26 17:11 ID:???
>>483
自分の理想なのに、他人に聞いてどうする。
社会に出ても同じことやってると、3日で窓際だぞ。
495NAME IS NULL:04/01/27 15:39 ID:???
ユニコードでの日本語CSVの区切り文字は","ではないのでしょうか。
どうしても洋モノソフトが認識してくれません。
496NAME IS NULL:04/01/27 19:45 ID:???
>>495
CSV形式の定義は、カンマ区切りってだけで、あるフィールドのみダブルコーテーションで括る、
全フィールドダブルコーテーションで括るなどは、そのソフトの仕様によって違うはず。
497495:04/01/27 20:32 ID:???
例えばエクセルでCSVを日本語で作成します。
これで保存するとユニコードではなくSJISで保存されます。
エクセルはユニコードでデーターを扱っているはずなのに。
それでは相手ソフトが読めないのでエディタで読み込んで
無理矢理UTFで保存しました。(秀丸)
ところが、このファイルの区切り文字がタブに変換されて
しまいました。これを再度エディタをUTFモードで起動
してタブを","に置換しました。
でも、このファイルを対象ソフトもエクセルも区切り文字
を認識せず読み込んでしまうのです。

現在、出先なので帰宅後、全データーを””で括り試して
みますが、何か良い手がありましたら御教授願います。
498496:04/01/27 21:50 ID:kMh1Xfpi
>>497
出先、乙。さっきは勘違いしてたスマソ。
謝りついで、試してみた。

(1) ExcelでCSV保存。(英数字、日本語含む)
(2) 秀丸で開き、UTF-8、LFで保存。
(3) 再度秀丸で開くと(SHIFT-JISモード)、文字化けしてる。(UTF-8になったはず)
  確認しただけで何もせず閉じる。
(4) そのファイルをExcelで開く。

と、やってみた結果、日本語が文字化けした状態で、カンマで区切られて、A,B,Cの
フィールドにそれぞれ入ってた。

なぜ、タブに変換されたのだろう?
なぜ、俺の環境では発生しないのだろう?(やり方違うのかなぁー)
499NAME IS NULL:04/01/27 22:30 ID:???
ちなみに、こんなスレがある。

CSVファイルのスレ
http://pc2.2ch.net/test/read.cgi/db/1057136328/l50
500NAME IS NULL:04/01/28 00:34 ID:???
>>497
Excelだから駄目なんじゃ…
OpenOfficeにしてごらん。
501NAME IS NULL:04/01/28 10:38 ID:???
データベースを設計する際の指針や方針がわかる良い書籍はありませんか?

最近、リレーショナルデータベースを作り始めたばかりの初心者なんですが
今後の運用やメンテナンス性、再利用性、拡張性等を考慮して作りたいと思っています。

後になって、あのレコードを追加したいとか、主キーの使い回しがあまり良くないとか
実際に使い始めて、気がつくことが多くて…。
ER図とかいうのを書けばいいのでしょうが、何しろそういう指導をしてくれる
経験者がまわりにいないので、自分で調べてみるしかないので…。
502NAME IS NULL:04/01/28 23:23 ID:???
>>501

グラス片手にデータベース設計〜販売管理システム編
http://www.seshop.com/detail.asp?pid=4516
503NAME IS NULL:04/01/29 02:56 ID:???
大学の試験で以下のような問題が出るのですが、解き方がわかりません
どなたか教えていただけないでしょうか、助けてください・・・

How1:鍋にたっぷりの水と鶏肉を入れて火にかけ、沸騰してから4〜5分ゆでてアクを出し、
   ゆでこぼして鶏肉も鍋も洗います。
How2:干し椎茸と木くらげは水につけて戻し、石づきを取ります。
How3:舞茸、えのき茸、しめじは石づきを除いて食べやすい大きさにほぐし、さっと
   下ゆで水気をとります。

上記の例で、How1-3までの手順を文書D1-3と考えた場合、
(1)索引語(term)をすべてあげよ。索引語の数はいくつとなるか?
(2)D1からD3のTF(Term Frequency)の値を求めよ。
(3)「水」、「石づき」のIDF(Inverted Term Frequency)の値を求めよ。
504NAME IS NULL:04/01/29 13:58 ID:???
よく、大学の問題で、とかあるけど、自分でやらないと社会に出てから死ぬよ
505NAME IS NULL:04/01/29 23:59 ID:???
>>503
その講義でのお前の出席率を聞きたいなw
506501:04/01/30 10:54 ID:???
>>502
ありがとう。
早速、昨日本屋に行ってみたけれど、その書籍がなかったので、
もう少し大きな本に行ってみて、確認してみます。
507NAME IS NULL:04/01/31 06:39 ID:???
データベース村へようこそ
508NAME IS NULL:04/02/01 23:35 ID:YC5fqR/B
アクセスのクエリについて質問です。
同じ構造のテーブルが二つあります。

テーブルA
キー|その他のフィールド
01 |ああああ
02 |いいいい
03 |うううう
04 |ええええ
05 |うううう
06 |ええええ

テーブルB
キー|その他のフィールド
03 |ああああ
04 |いいいい
05 |うううう
06 |ええええ

テーブルAにはすべてのキーがあり、
テーブルBにはそのうちのいくつかのキーがあります。
クエリでテーブルAとテーブルBを左外部結合で結び、
テーブルBにキーがあればBから、なければAから「その他のフィールド」を持ってきたいです。

抽出結果
キー|その他のフィールド
01 |ああああ ←テーブルAから
02 |いいいい ←テーブルAから
03 |ああああ ←テーブルBから
04 |いいいい ←テーブルBから
05 |うううう ←テーブルBから
06 |ええええ ←テーブルBから

全てのキーに対して「その他のフィールド」を
どちらのテーブルから持ってくるか、というクエリです。
教えていただけませんか。
スレ違いだったらごめんなさい。
509NAME IS NULL:04/02/01 23:40 ID:???
マルチポストすんな。
510NAME IS NULL:04/02/02 00:01 ID:???
Bと結合した結果セットと、(A.キー not in B.キー)と結合した結果セットを
UNIONすれ
511NAME IS NULL:04/02/04 09:28 ID:???
ソフト板からきました
Access2000で複数の列見出しを持つクロス集計の作り方を教えてください

[行:顧客住所][行:顧客名][列:商品名][値:売上額]で、
さらに商品は[売上分類]に分類できて[列:商品名]の上に[列:売上分類]を加えたいのです
よろしくお願いします。

           食べ物      雑貨
         パン おにぎり  鉛筆  消しゴム
埼玉県  伊藤  10   5    10   20
埼玉県  鈴木   5  20     5    0
千葉県  佐藤  10   0     0   10
千葉県  吉田   0   5    10   10

というような感じにしたいのですが・・・
よろしくお願いします
  
512NAME IS NULL:04/02/05 21:32 ID:P83QRT4M
windowsでそのままつかえる、postgreSQLってどこでダウンロードするの??
だれかオセーテー
513NAME IS NULL:04/02/06 06:45 ID:pj6pwlPk
シリアル型で作ったのを setenv('aaa',1);
したけど、insertしたら2からはじまってしまいます。

1からにしたいんだけどどうしたらいいでしょうか?
514NAME IS NULL:04/02/06 11:47 ID:???
>>512
ダウンロードと言うならば、WinMXとかで探さないと無理。
515NAME IS NULL:04/02/06 12:32 ID:???
>>512
雑誌買ってCD-ROMからダウンロードしる。
516NAME IS NULL:04/02/06 13:57 ID:COlkBLBI
最近よく「ハイバネード」って言葉を聞くんですが
これ何?
517NAME IS NULL:04/02/06 15:16 ID:???
>>516
冬眠することだ。
お前はそれで納得しろ。
518なおみ:04/02/06 16:27 ID:r0UA6214
初心者です。どなたかHELPして頂けると助かります。

以下のようにIDと区分がキーのスタッフテーブルが
あって区分は1〜3まででとします。

ID  区分 名前
-------------------
001  1 田中
001  2 山田
001  3 伊藤
002  1 鈴木
以下省略

とあるものを以下のようにするには
どのようなSQLを組めばよろしいですか?

ID 1の名前 2の名前 3の名前
------------------------------
001 田中  山田  伊藤
002 鈴木  XXX YYY
以下省略

SQLサーバー使用です。
519NAME IS NULL:04/02/06 23:30 ID:???
>>518

SQL> r
1 select a.id, a.名前, b.名前, c.名前
2 from (select * from test where 区分 = 1) a
3 full outer join (select * from test where 区分 = 2) b on a.id = b.id
4* full outer join (select * from test where 区分 = 3) c on a.id = c.id

ID 名前 名前 名前
---------- ---------- ---------- ----------
1 田中 山田 伊藤
2 鈴木
520NAME IS NULL:04/02/07 00:06 ID:???
親サーバの下に子サーバ群があってその下にクライアントがぶら下がってる構成で、
子サーバに入れてあるMSSQLDBに別の子サーバのクライアントからODBCで接続できますか?
521NAME IS NULL:04/02/07 12:36 ID:???
>>520
NW環境によると思われ。
522NAME IS NULL:04/02/07 18:55 ID:bbb49YXR
練習でリンク集のデータベースを作っています。

あるテーブルで 「ID、サイト名、URL、ジャンル、コメント」 のようにフィールドを作ろうと
考えてます。

例えば、ジャンルに「ニュース」「検索エンジン」「料理レシピ」など
複数指定可能なデータベースを作るにはどのようにすればいいのでしょうか?
523NAME IS NULL:04/02/07 20:02 ID:???
>>522
テーブルを分ける。

サイト(ID, サイト名, URL, コメント)
サイトジャンル(ID, ジャンル)

あるジャンルに含まれるサイトを検索するには

SELECT a.サイト名, a.URL, a.コメント
FROM サイト a, サイトジャンル b
WHERE a.ID = b.ID
AND b.ジャンル = 'ニュース'

こう。
524NAME IS NULL:04/02/07 20:06 ID:???
>>522
TBL1:ID、サイト名、URL、コメント
TBL2:ID、ジャンルID ← 複数レコード
TBL3:ジャンルID、ジャンル内容
525524:04/02/07 20:10 ID:???
TV見てる間に既に出てた。。。

ところで、こーゆーテーブルの場合、サイトの一覧(ジャンル含む)を抽出するのはどしたら良い?
↓みたいな感じ。

ID、サイト名、URL、コメント、ジャンル(あるだけ)
 :
ID、サイト名、URL、コメント、ジャンル(あるだけ)
526NAME IS NULL:04/02/07 20:35 ID:Ih9M3gN1
例えばテーブルXXXにnameという列があり、そこに
こんどう、おおた、こばち、おにつか、おおばやし、こんどう
などのデータがあるとします。ここでおおたという名前を
とってくるのは
select name from XXX where 'おおた'

というのはわかるのですが、”お”と検索されたときに、
名前の先頭に”お”がつく人を全部もってくるには
どのようなSQL文が必要でしょうか?曖昧な検索をおこないたい
のですが、SQL文が思い浮かばなくて・・・
527NAME IS NULL:04/02/07 20:41 ID:???
>>526
select name from XXX where name = 'おおた'

select name from XXX where name like 'お%'
528NAME IS NULL:04/02/07 20:50 ID:yFRs994M
超初心者です。
昨日PgSQLをいれました。
windowsなんで、ネイティブ版をつかってるんですが、
psqlで>psqlっていれたら、Host:・・などがでてきます
それより先にすすめません。どうすればいいでしょうか?
529NAME IS NULL:04/02/07 21:43 ID:???
ホスト名がまさか日本語だとか…
530NAME IS NULL:04/02/07 22:19 ID:pYErSsrM
SQLものすごく初心者です。練習問題ごときで手こずっています。

テーブル「顧客」には顧客ID、顧客名、エリアコード。
テーブル「注文」には注文ID、注文時間、顧客ID。
テーブル「デリバリ」には(配達が完了した分の)注文ID、配達時間が入っています。

以上からまだ配達されていない注文ID、注文時間、エリアコードを表示させたいのですがうまくいきません。助言をいただけると嬉しいです。
531NAME IS NULL:04/02/07 22:26 ID:???
SELECT 注文ID,注文時間,エリアコード FROM 注文,デリバリ 注文.注文ID = デリバリ.注文ID WHERE 配達時間 IS NULL;

DBわかんないし、この分自体も試してないけど。
だめならFROM句をRIGHT JOINにすれ。
532NAME IS NULL:04/02/07 22:28 ID:???
あ、編集途中で投稿しちゃった。
SELECT 注文ID,注文時間,エリアコード FROM 注文 LEFT JOIN デリバリ ON 注文.注文ID = デリバリ.注文ID WHERE 配達時間 IS NULL;
533NAME IS NULL:04/02/07 22:35 ID:yFRs994M
>ホスト名がまさか日本語だとか…

って言うよりまず設定のしかたからわからん
perlのテストでlocal上でうごかしてます。
だれかわかるかたpsqlってやったあとhost
ってとこになんて書けばいいんでしょうか?
534530:04/02/07 23:40 ID:pYErSsrM
531&532さん
さっそくのレスありがとうございました。
しかし教えていただいたものでもエラーがでてしまいまして……
まだ悩んでいます。
問題のテーブルをアップしてみました。こんなかんです。

http://www.geocities.co.jp/SiliconValley-Cupertino/9752/lesson.html

ここから配達されていない注文ID、注文時間、エリアコードを出したいのですが……
お願いいたします。
535NAME IS NULL:04/02/08 00:01 ID:???
>>534

SQL> r
1 select 注文.注文ID, 注文.注文時間, 顧客.エリアコード
2 from 注文, 顧客
3 where not exists (select 'X'
4 from デリバリ
5 where 注文.注文ID = デリバリ.注文ID)
6* and 注文.顧客ID = 顧客.顧客ID

注文ID 注文時間 エリアコード
---------- ------------------- ------------
3027 2002-01-03 16:15:00 A02
3029 2002-01-03 16:08:00 A03
536534:04/02/08 00:39 ID:J9Lh6vIS
535さん!!!
うわーーーー!!!できました!!ありがとうございます!!!!
537522:04/02/08 03:18 ID:???
>>523-525
レスが遅くてすいません。
どうもありがとうございました。
538NAME IS NULL:04/02/08 03:20 ID:aGv2R1Dh
エクセルで行いたいのですが・・・

A列で一行ごとに
aaa
bbb
ccc
aaabbb
bbb
accca
と書いてあったとします。
aaa-あ bbb-い ccc-う aaabbb-え
に対応しているとします。何らかの関数処理(?)をして
B行に一行ごとに


え 


と表示させたいです。どうすればよいでしょうか

(「え」の列だけはできればC行、D行などに「あ」「い」も表示させたいです。
「え」がC,D行でもかまいません)
539NAME IS NULL:04/02/08 07:36 ID:???
>>538
>A列で一行ごとに
>B行に一行ごとに
>「え」の列だけは
>C行、D行などに

「行」と「列」の違いが分かりません。

てゆーか、したいこともよく分かりません。
540538:04/02/08 12:43 ID:???
すみませんでいた・・・
A、Bは列でエクセルで見るところの横です

aaaとかは実験試薬で「あ」とかはしまう場所です。
541NAME IS NULL:04/02/08 13:06 ID:???
言葉でうまく説明できないなら
もっとわかりやすい名前をつけてくれ
542NAME IS NULL:04/02/08 15:19 ID:???
>>528
エラーが出るときはエラーメッセージを正確に書くこと。質問するときの基本。
とりあえず
c:\>psql -h localhost
ってしてみれ。
543NAME IS NULL:04/02/08 15:24 ID:???
>>538
板違いだろ。

Excel総合相談所 20
http://pc2.2ch.net/test/read.cgi/bsoft/1073895316/
544NAME IS NULL:04/02/08 19:04 ID:+gLYCV0Z
VBAとアクセスでプログラムしてるのですが、テキストボックスに
文字列がはいってなければ、テーブルの列から全件表示して、
もし、文字列が一文字でも入力されていたら、列を調べに行って
最初の一文字が同じならその行を全部ひろってくる。あ で検索
したら、あ から始まるすべての行、い と検索したら い で
はじまるすべての行を検索してくるというのをやりたいのですが、
SQL文がわかりません。

曖昧な検索ではlike を使うのがわかったのですが、どうすれば
いいのかわかりません。お願いします。
545NAME IS NULL:04/02/08 19:42 ID:???
>>544
プログラムでif文で分岐すれば良いと思うんだけど。

テキストボックスへの入力文字列なし
select * from TBL
テキストボックスへの入力文字列(あいう)
select * from TBL where columnA like 'あいう%'

こーゆー事ではない?
546NAME IS NULL:04/02/08 20:40 ID:+gLYCV0Z
ありがとうございます。実は名前などを、誰かがテキストボックスに
入力して、もし何もテキストボックスにはいってなければ、
select NAME from TBL
でもいいと思うのですが、100人の名前がNAMEという列にはいって
いて、そこから”す”と誰かが検索して、リターンキーを押したら
すずき すずむら すぎさわ と最初がすで始まるすべての人を
列挙し、”あ”と検索されれば あんどう あがわ あきた
など”あ”で始まる名前を検索したいのです。誰がどんな文字列を
入力するかわからないので、誰かが入力した文字列曖昧検索を
したいのですが・・・
547NAME IS NULL:04/02/08 21:07 ID:???
>>546
んー、その時々によって検索文字列が変わるって事で良いのかな?
例えばAさんが、”あ”で始まる名前を検索する事もあれば、
Bさんが、”い”で始まる名前を検索する事もある。

だとしたら、入力された文字列をSQL文に組み込んでやれば良いかと。
(VBAとAccessの書式知らないので書き方は適当)

"select name from TBL where name like '" & 入力文字列 & "%'"
↓入力文字列が”あ”だったら。
select name from TBL where name like 'あ%'
548NAME IS NULL:04/02/08 22:54 ID:FOPMa74S
皆さん、バックアップはどうしてますか?。
装置などを教えてください。

今度、小企業のDBを構築することになりそうなのだが、
バックアップってなにを付ければいいのか悩んでます。

DLTを買うほどハード費用もでないだろうし・・・。
そもそもDLTほども必要なのかな?。
549NAME IS NULL:04/02/08 22:59 ID:???
>>548
DBサイズは?
550NAME IS NULL:04/02/08 23:05 ID:JysFzodR
postgreSQLのInner Joinで
Onの後の
顧客マスタ.顧客コード = 売上リスト.顧客コード
なんですが
これって左右入れ替えても関係ないのでしょうか?

それとも結果が違ってくるのでしょうか?
551NAME IS NULL:04/02/09 09:58 ID:T1wgjSBH
>>547
すんません。便乗質問です。

like述語を使ったあいまい検索って、
DB項目が数字タイプ(9タイプ)の場合は
使用できないんでしょか?
552551:04/02/09 10:13 ID:T1wgjSBH
551です。追記です。
DB上に数値タイプ4桁で保有している項目に対して
後ろ3桁が‘作業−番号’(「作業−番号」には3桁の整数が設定されている)
であるレコードを検索したいのです。

これってlike述語を使えるのかな、、、と。


ネットでいろいろ調べてたら、select left ってな文節を使ってる
プログラムもあったのですが、、select right なんてのもあるんでしょか?
いろいろ調べちゃいるんですが、ムズカシイ・・・
553NAME IS NULL:04/02/09 12:11 ID:???
試して無いのでなんとも言えんが、たとえその手がすべてだめだったとしても、
普通に< > で範囲検索をすればよいのでは?
と言うか、ワイルドカードくらい試せよ。
554NAME IS NULL:04/02/09 12:14 ID:???
>>552
霜三桁を一致させたいだけなら、
1000で割った余りと作業番号を比較したほうがいいんじゃない?
どっちにしろシーケンシャルに検索しますが。

後ろ3桁が意味をもつんなら、後ろ3桁は別カラムにすりゃいいのに。
555551:04/02/09 14:27 ID:T1wgjSBH
>>553
範囲検索で上手く行くんですか。。
すんまそん。やり方がわからんくて。。
ワイルドカードは文字列タイプには使えても、
数値項目には使えないって聞いたです。
CAST使って属性変換すれば上手く行くかな。

>>554
1000で除算ですか!
なるほど。そのやり方で検討してみます。
ありがとう御座いました。
556NAME IS NULL:04/02/09 16:33 ID:???
つーか、DBのカラムの方をCHAR系に変えればいいのでは?
あと、絶対4桁なら、1-3で分けてカラム作っちゃうとか。
557NAME IS NULL:04/02/09 18:04 ID:1y5/Jc6V
関係ないかもしれないけど

http://www.musicfever.org/japanese/

http://www.planetemu.net/php/roms/roms.php3?cat=goodsnes-S

でいつもゲームや音楽のROMをDLしてるんだけど

金かかったり捕まったりしない?

だれか教えてください
558NAME IS NULL:04/02/10 03:57 ID:???
>>551,552,555
COBOLのことは忘れてください

>DB上に数値タイプ4桁で保有している項目に対して

hoge char(4) って指定してあるんでしょ?
これに数字を入れてもただの文字列としてみなされる。
だからlikeも使用可能。

hoge int になってるなら数値だからlikeは使えない。

「数値」と「数字」は違うってこと。数字は文字列の構成要素の一部。

ちゃんとした理由があってやるならいいけど、
ありとあらゆる数値を文字列にしてたら笑われるよ
パフォーマンスも落ちるし。

あと、left()やright()は関数だから、selectと繋げて読んじゃ駄目。
559NAME IS NULL:04/02/10 22:10 ID:YP0hweY3
質問なんですが、フリーソフトで凄く簡素で使いやすい
データベースを見つけたんですが、これってインストール
して使うタイプのソフトではないみたいなんですが、
ブリーフケースなんかにも使えなかったんです、、、
これはどういうことでしょうか

http://www.vector.co.jp/soft/mac/business/se180116.html?y
560559:04/02/10 22:16 ID:YP0hweY3
それとこの先にSOHO始める予定があるのですがこのような
フリーソフトはさけた方がいいのでしょうか?
トラブルがおこる可能性もありそうですが
561NAME IS NULL:04/02/10 23:43 ID:???
>>559
Mac用って書いてあるじゃん
562559:04/02/11 00:18 ID:Mtfc6+a4
いや当方マックです
563NAME IS NULL:04/02/11 01:01 ID:6oToWWpK
俺はケツの穴で口笛が吹ける


564NAME IS NULL:04/02/11 01:35 ID:???
>>559
べらぼうに高い商用データベースでもバグはあるし、
ハードが完全に逝ってしまったらソフトは関係ない。

大事なのはトラブルが起きたときに、それをカバーできる準備をしておくこと。
565NAME IS NULL:04/02/11 12:41 ID:???
フリーでも商用でも構わんから広く使われている奴を選ぶのがキホソ。
566559:04/02/11 18:26 ID:Mtfc6+a4
>564
バックアップを完璧にしておけということですね
>565
なるほど

わざわざありがとうございました!!
567NAME IS NULL:04/02/11 18:44 ID:l71aFwrU
どっちが正解???
LIKE述語?LIKE演算子?
IN述語?IN演算子?

ANDは演算子だってのはわかるが・・・
そもそも述語と演算子の違いをおしえてえろい人
568NAME IS NULL:04/02/11 18:45 ID:5OkzN/0X
はじめまして。
主キーと
プライマリキーの違いってなんですか?
インデックスはなんとなくわかるのですが・・。

僕は主キーとプライマリキーって同じ意味で
一意になるものかと思ってましたが、
DB2(だったかなぁ)
それぞれ別項目として設定できたので
不思議に思いました。
初心者で申し訳ないが教えててくだされ。
569NAME IS ANARU:04/02/12 22:11 ID:???
すいません
自分は主キーとプライマリキーの違い
あとインデックスとは何か知りたいです
ご教授お願いします
570NAME IS NULL:04/02/12 22:42 ID:???
主キーとプライマリキーは同じだと思います。
一意キーとユニークキーも同じです。
主キーと一意キーは違います。

インデックスは索引です。
571NAME IS NULL:04/02/12 23:56 ID:???
>569
ぐぐれば一発です
572NAME IS NULL:04/02/13 08:07 ID:???
>550
同じだと思う。

>559
商用ソフトを使った場合、ソフトにバグがあったらソフトメーカーのせいにできるが、
フリーソフトは自分で責任を負う。

>569
同じ
573NAME IS NULL:04/02/13 13:20 ID:???
アップルワークスとかに何十万、何百万という言語数
を記録したいのですがデータベースソフトとかって無限に
書き込めるんでしょうか?
574559、573:04/02/13 13:24 ID:???
>559
でもそれは保証期間を過ぎたり標準で付いてるソフトも大丈夫でしょうか?
フリーソフトは止めてやはりアップルワークスにしときました
575NAME IS NULL:04/02/13 13:41 ID:???
>573
データ量の上限は製品によって違う。
開発元に聞きたまえ。
576NAME IS NULL:04/02/14 03:51 ID:???
データ量の上限は製品によって違うかもしれねぇが
ケツの穴にワセリン塗ったら気持ちよかったが
ケツ毛が抜けた


どうすればいいでしょうか???

577NAME IS NULL:04/02/14 10:58 ID:Lx6j5dZm
リレーションシップにおいて、
あるテーブルのレコードと、別のテーブルのレコードとの間の関係は、
「一対多の関係しか意味を成さない」
という事でしょうか?
578NAME IS NULL:04/02/14 14:36 ID:xSGYb8nL
http://yougo.ascii24.com/gh/07/000749.htmlにて

relational databaseとは、中小規模のデータベースで一般的に利用される手法。

とあります。大規模なDBは、どのような物でしょうか?
579NAME IS NULL:04/02/14 14:57 ID:???
>>578 やっぱRDB。とくに最近は。
580NAME IS NULL:04/02/14 16:30 ID:LfAnZ3jc
Microsoft Data Link の(拡張子.udl)プロパティが全部英語になってしまったのですが。
もともとは日本語だったので、その後にインストールしたMDAC2.8が原因じゃないかと・・・
一応、MDAC2.8日本語版も入れてみたのですがだめでした。

まったく関係ないかもしれないけど、日本語への直し方ってどうするんでしょ?
581NAME IS NULL:04/02/14 16:57 ID:Wk2cgsPJ
>>579 いえ、そのRDBが中小規模と説明されているのです。
>>579のリンク先にてです。
582NAME IS NULL:04/02/14 17:53 ID:???
>>581 おそらく、電話キャリア、ISP、銀行なんかが
大規模DBの実例だろ。今はRDBだよ。
583NAME IS NULL:04/02/14 23:56 ID:???
DNSってツリー型DBって言ってもいい?
584NAME IS NULL:04/02/15 22:10 ID:???
ダメ
585NAME IS NULL:04/02/16 03:53 ID:???
データベースって何ですか??
586NAME IS NULL:04/02/16 10:11 ID:???
ビューを作成することで生じるデメリットってなんですか?
587NAME IS NULL:04/02/16 23:50 ID:???
オラクルマスター取得するために勉強しようと思ってるんですが
DBは初めてなんでどの本を読めば良いかチョッと検討し辛いので
良い本があったら教えてやってください。
588NAME IS NULL:04/02/17 10:15 ID:???
こっちのスレにどぞー

【Oracle】 オラクルマスター 【Master】
http://pc2.2ch.net/test/read.cgi/db/1059136831/
589NAME IS NULL:04/02/17 11:16 ID:???
>>586
きちんと仕様書残してないと、あとから見た人がわかりにくい。
まぁ、仕様書無ければ、ビューとか関係なく分かりにくいですが(w

使うほう(プログラマ)からしたら、テーブルとビューの見分けが付かないことが多いから、
命名規則等で一目でビューと分かるようにしたほうがよいかなと。

思いつくのはこのくらいかな。
あんまりデメリットっていうのはないね。
590NAME IS NULL:04/02/17 11:22 ID:???
インデクスを使わなくなる(=検索が遅くなる)場合がある。
591NAME IS NULL:04/02/17 18:27 ID:???
>>588さん
そっちで質問しても良かったんですね。
誘導アリガトン
592NAME IS NULL:04/02/18 23:36 ID:bsAqEqdF
基本的な質問かも知れないですが。
ある表からいくつかの列の値とその列の合計、列数等が欲しいのですが
下のようにするとORA-00937: 単一グループのグループ関数では
ありませんと表示されます。
select 列A,列B,列C,列D,SUM(列A),COUNT(*)
from  表X
where条件1,条件2,条件3

sql文を2つに分ければ簡単ですが今回はひとつの分で結果を知りたいのです。
どうすればいいですか?
593NAME IS NULL:04/02/18 23:42 ID:???
合計と列数が、各列に入るの?
594NAME IS NULL:04/02/18 23:51 ID:???
すいません。入るわけ無いですね。
混乱してて訳分からない事考えてました。
別なsql文を作る方向でやってみます。
595NAME IS NULL:04/02/19 18:07 ID:zBwkTOrm
スキーマの管理について質問します。
例えば、○○システムに△△業務と□□業務がある場合
スキーマはシステム単位、それとも業務単位
どちらで定義するものなんでしょうか?
596NAME IS NULL:04/02/19 20:48 ID:uPLG5KY+
(管理)要件によって違うので、一概に「これだ」とは言えません。
・・・と言ったら話が終わってしまうので、考え方の紹介を。

ファイルサーバに置き換えてみたら、分かりやすいかもしれませんね。

●少ないフォルダ・ツリー構造でファイルを入れて管理するの?
●細かいフォルダ・ツリー構造でファイルを入れて管理するの?


細かい話が分からないので何ともいえませんが・・・
例えばこんな感じ?

・システム単位
メリット:小さいシステムなら管理も簡単で楽。
デメリット:業務毎の管理が必要となった途端、作り直しor別途
対応方法を検討。
また、将来システム自体が大きく膨れ上がった時、
分けが分からなくなるかも。

・システム内の業務単位
メリット:細かい管理や権限等が可能。
デメリット:将来システムや業務が多岐に渡った時、管理手法等が
明確になっていないと、分けが分からなくなるかも。
また、大きくなる予定がまったくないのであれば、
細かく分けた事がかえって面倒になるかも。

これはあくまでも一例です。
要件定義等をしっかり行って、判断して下さい(当然ですが)。
597NAME IS NULL:04/02/20 01:01 ID:VBBuMa2j
>592
グループ関数使うなら、GROUP BY汁。
こんなこと基礎中の基礎だがな。
598NAME IS NULL:04/02/21 02:05 ID:McU5FQ7p
ユンソナとBoaは同一人物なんでしょうか??
599NAME IS NULL:04/02/21 12:07 ID:2VfwJzan
>>597
1票。

>>592
藻前ど素人?
もし業界人なら首吊れ
600NAME IS NULL:04/02/21 12:21 ID:???
>>599
お前うざい。ここは初心者スレだ。回答した >>597 はエラいが
お前は自分より知識が無い香具師捕まえて、自分がエラくなったと勘違いするな。
まー若い技術者に多い傾向だがな。もーお前は書き込むな。
601NAME IS NULL:04/02/21 19:21 ID:???
Accessのmdbファイルのような感覚でファイルを用意するだけで、
OSの種類を問わず、SQLによる問い合わせが出来て、様々なプログラム言語
から使えるRDBMSってありませんかね?
602NAME IS NULL:04/02/21 23:10 ID:???
Firebird
603603:04/02/22 01:27 ID:iHnWQDXa
mysqlで列にファイルを格納したいのですが、型はどうなりますか?
604NAME IS NULL:04/02/22 01:31 ID:FLNmHELy

女性が「泥棒!」…無実?の68歳男性“ショック死”

 三重県警四日市南署は、同県四日市市内のスーパーで、今月17日に「泥棒」と叫び声を挙げた、
子連れの女性を捜している。「泥棒」呼ばわりされた男性(68)は、買い物客に取り押さえられた後に
死亡したが、防犯ビデオの分析などから、何ら犯罪行為をしていない可能性が強いという。

詳しくは、
http://headlines.yahoo.co.jp/hl?a=20040221-00000303-yom-soci
(2004/2/21/11:17 読売新聞 )

■こういう糞女には、ちゃんと責任取らせないとだめです。
 被害者の男性は、犯罪者の汚名を着せられたまま亡くなったのですよ。その無念を想像してください。

三重県警察本部059-222-0110 四日市南警察署0593-55-0110

https://www.police.pref.mie.jp/SITE1PUB/servlet/enquete.EnqueteForm/5
三重県警ご意見BOX
http://www.npa.go.jp/goiken/index.htm
警察庁ご意見箱
605NAME IS NULL:04/02/22 01:34 ID:yReLcrPh
aa
606NAME IS NULL:04/02/22 02:03 ID:8GQuXByu
SELECT DISTINCT A.ID,B.NM, A.YEAR, A.AGE C.SEX, A.NOTE,
FROM Table1 AS A

INNER JOIN Tableb AS B
(A.ID = B.ID
AND A.Adress = '大阪')

INNER JOIN TableC AS C ON
(A.ID = C.ID)

WHERE A.AGE > '18'
AND A.VERSION = (SELECT MIN(B.VERSION)
FROM TableB AS B
WHERE A.ID = B.ID
AND A.Shu = B.Shu)
AND A.Info IN ('00','99') ;

Postgreでこういう複数あるテーブルのSQLで
From以下の条件にあう項目に対して
updateでA.Noteに1をデータ更新をかけたいときってどうすればいいのでしょうか?

普通にupdate〜set〜
などを入れてもなかなかうまくいきませんので・・・
607NAME IS NULL:04/02/22 02:16 ID:+p+S/+aq
>>606
ネストでいけるんとちゃう?
608NAME IS NULL:04/02/22 04:23 ID:???
テーブルをファイルから読み込むコマンドは何ですか?
ちなみにMySQLです。
609NAME IS NULL:04/02/22 05:33 ID:???
>>606
PL/SQL
610NAME IS NULL:04/02/23 22:00 ID:YkGukJhb
PDAでデータベースを操作するには
ファイルメーカーしかないのでしょうか?
もっと安上がりな方法はないですか?
611NAME IS NULL:04/02/23 22:55 ID:???
PDAにも色々ありますが。
612NAME IS NULL:04/02/23 23:08 ID:YkGukJhb
>>611
どんなPDAでもいいのですが。
ソフトにあわせて選びます。
でもなるべく安上がりで・・・貧乏人なので
613NAME IS NULL:04/02/24 02:39 ID:VAAFgod9
黒船という電話帳データベースのデータファイルを
csvファイルに変換したいのですが、可能でしょうか?
614NAME IS NULL:04/02/24 03:16 ID:???
>>613
そら可能だろ
615NAME IS NULL:04/02/24 08:52 ID:???
>>610

ttp://hp.vector.co.jp/authors/VA025338/devprocess.html
>palmデバイスはファイルシステムを持たず、すべて「データベース」と
>呼ばれる型式で情報を貯えている。


「データベース」を使いたいならpalm も買っとけ。
616NAME IS NULL:04/02/24 21:19 ID:mfuPwTo6
アクセスVBAでプログラムをやっているのですが、一つのコンボボックスの中に2つの列、”名前”と”番号”
というのが入っています。名前には
名前
kondo
kondo
oota
oota
tanaka
tanaka

番号には
番号
1
1
2
2
3
3
というふうに、名前と番号が対応してます。そこで、コンボボックスには名前を表示し、番号を列幅を0cmにして
見えなくしてやります。この時、番号でグループ化して、名前をコンボボックスに表示したいのですが、

SELECT 名前, 番号 FROM DB GROUP BY 名前
ORDER BY 番号
というSQL文を書くとSQLエラーになってしまいます。
Select 名前 From DB Group By 名前 もしくは,
Select 番号 From DB Group By 番号ならば成功するのですが、どのようにSQL文を直して実行するか
わかりません。どなたかお助けください、お願いします。
617NAME IS NULL:04/02/24 22:10 ID:???
>>616
名前と番号が対応してるなら、これでどう?
SELECT 名前 FROM DB
GROUP BY 番号, 名前
ORDER BY 番号
618NAME IS NULL:04/02/25 00:05 ID:g+IzIXwj
>>616
SELECT DISTINCT 名前, 番号 FROM DB ORDER BY 番号
ではいかんの?
619NAME IS NULL:04/02/25 10:11 ID:???
読み取り一貫性機能があるのはoracleとposgreだけですよね?
MYSQLとかはリードロックとか言うので補ってるの?
620NAME IS NULL:04/02/25 11:48 ID:???
undoセグメントやトランザクションIDが無いMYSQLでどうやって読み取り一貫性を
保証してるの?
621NAME IS NULL:04/02/25 19:39 ID:Eos5l9JS
Aテーブルのid,nameフィールドの値を
Bテーブルに全てInsertしたい場合(addres.telは入れなくて良い)
どのようなSQLが効率が良いですか?
早い話データ移行です。
できれば、Access(jet)で。

Aテーブル
id
name

Bテーブル
id
name
address
tel
622NAME IS NULL:04/02/25 20:14 ID:???
単純なINSERT。
追加クエリを作ってSQLビューを見なされ。
623614:04/02/25 20:34 ID:8eI1sjTu
ごめんなさい。
質問の仕方が悪かったのですが、
独自形式→csvへの一万件づつの出力は可能らしいのですが、
一気に全部やってしまいたいのです。
ご存じの方教えて下さいませ!!
624NAME IS NULL:04/02/25 20:38 ID:Eos5l9JS
>>622
全データを一度にInsertする方法はないですか?
AをSelectして、一件ずつInsertをループで廻したくないです。
625NAME IS NULL:04/02/25 21:32 ID:???
>>624
622じゃないが、なぜ一件になるというんだ?
626NAME IS NULL:04/02/26 07:40 ID:???
624はコボラー!
一遍SQL勉強して出直して来いっ!
仮にただの初心者でもこの程度のことも調べられないようじゃDBはあきらめれ!
627626:04/02/26 07:57 ID:???
すみません。初心者版でしたね。

insert into B(id,name)
sekect id,name from A

でもこんなき本的な質問をしてくる人は永遠に初心者から脱却できないのでは?
628NAME IS NULL:04/02/26 16:19 ID:wxTHD3XN
MS-ACCESS でデータベースを組もうと思っているのですが、
その中で、メールの自動送受信もやらせたいのです。

VC++にてメール送受信の経験があるので、VC++でその部分のみ
別モジュールで作成しておいて、MS-ACCESS から呼び出そうと思っています。


効率悪いでしょうか?
VBA覚えて組んだほうが良いでしょうか?

普通はこんなことしないのかな?と思ってお聞きしました。
629NAME IS NULL:04/02/27 09:25 ID:fOMNKE4M
受発注システムとかの伝票番号の管理って普通どうするんですか?
伝票番号を管理するテーブルを作成するのか、
select max(伝票番号) from 受注テーブル 見たいにするのか、
もしくは他に標準的な手法があるのか、
どうなんでしょうか?
630NAME IS NULL:04/02/27 13:28 ID:???
「シーケンス」とか「オートナンバー型」とか
631NAME IS NULL:04/02/27 16:18 ID:???
例えば「ユーザテーブル」と「都道府県テーブル」があったとします。
■ユーザテーブル
TARO,1,2
YASU,2,1

■都道府県テーブル
1,東京
2,神奈川

このテーブルを結合して

 TARO,東京,神奈川
 YASU,神奈川,東京

という結果を得たい場合

SELECT user.name , ken1.name , ken2.name
FROM user,ken as ken1,ken as ken2
WHERE user.ken1id = ken1.id AND user.ken2id = ken2.id;

という風に都道府県テーブルを二回joinするしかないのでしょうか?
(都道府県データが5個とかに増えた場合は5回join??)
MySQL4を使っています。
632NAME IS NULL:04/02/27 17:18 ID:???
>>629
俺は伝票番号とかの場合はテーブルに持たせて管理してる。
たまに顧客マスタとかも自動で採番してくれって言われたときは
SELECT MAX()使う時もある。
オートナンバーとかは形式や桁数を揃えたいと言われる場合が多いので
あんまし使ってない。
伝票番号の形式とかが一意になってりゃかまわないのなら
シーケンスとかオートナンバーでいいんじゃないかな
633NAME IS NULL:04/02/28 00:42 ID:Dumkj5D7
If IsNull(アイディー.Value) = False Then
sssql = sssql & ",'" & Trim$(アイディー.Value) & "'"
Else
stSql = stSql & "," & "(''),"
End If
sssql = sssql & "'" & Trim$(アイディー2.Value) & "'"
stSql = sssql & ",'" & Trim$(アイディー3.Value) & "'"

というSQLを書いたんですが、エラーが発生してしまいます。
どこが悪いかご指摘お願いできないでしょうか。お願いします。
634NAME IS NULL:04/02/28 00:54 ID:???
>>633
どの辺がSQLになってんだ?
635NAME IS NULL:04/02/28 01:34 ID:???
>>634
sssql の3文字分くらい
636NAME IS NULL:04/02/28 06:03 ID:41+ty0li
MySQL+PHPでWebデータベースを作成しようと考えていますが、
品物:約5000件
内容:ID/値段等1つにつき10個程度
で容量何MBくらいになりますか?
それによって、レン鯖借りようと思います。
637NAME IS NULL:04/02/28 09:23 ID:Dmh03Pe4
データベースで以下のことを行いたいのですが可能なのでしょうか?

Oracleのデータベース内のテーブルのあるカラム(列)をキー項目にしてDB2のテーブルを検索して、DB2のデータ内容をSQL文のSelectDeleteInsertUpdateする処理。

ポイントは以下の2点です。

@1つのSQL文で、OracleとDB2の両テーブルを利用する問い合わせ。
AOracleのViewでDB2のテーブルを設定し、Webサーバから見るとOracleのビューとテーブルのみしか見えないようにする設定

サーバ構成は以下の通りです。
WebサーバのDB  DB2 8.1 Enterprise Edition OS AIX5.2
中継サーバのDB   Oracle8i Enterprise Edition OS Windows2000 Server

以上の処理で中継サーバからWebサーバのDBと中継サーバのDB(Oracle)への同時アクセスは可能なのでしょうか?

以上よろしくお願いいたします。
638NAME IS NULL:04/02/28 11:05 ID:???
>>637

Oracle Generic Connectivity
Oracle Transparent Gateway

というキーワードでGoogle先生へ。
639NAME IS NULL:04/03/01 13:07 ID:0XSPB7/E
個人情報、ユーザーID、ユーザーパスワード等をWeb上でユーザーが管理できる
サーバーサイド言語ベースのデータベース管理ソフトウェアはありませんか?

アカウントの管理はXoops見たいに出来るのが理想です。

アカウント制で提供されるコンテンツサイトの構築が目標です
640NAME IS NULL:04/03/01 16:24 ID:bq3e7zoX
その件に関してはこちらが詳しいようです。

http://www.geocities.jp/sasatitikoko/tobu.html
641NAME IS NULL:04/03/01 17:47 ID:CASaEQQr
MSDE使ってみたけどメモリーは食うわ、遅いわでクラクラしてます。
チューニングってできないんでしょうか?

それともSQL Serverを買うしかないんでしょうか?
642NAME IS NULL:04/03/01 19:10 ID:???
基本はSQL鯖なんだからそんなに変わらんでそ。
っつーかメモリはどんだけ積んでるのよ?
643NAME IS NULL:04/03/02 10:57 ID:alMmDa3l
>>637 返答ありがとうございます。

IBMのIAサーバーでメモリは4GBです。テストなので1ユーザーがちょこちょこ
アクセスしているだけなのですが、メモリー使用量がどんどん増えていって
既に1.2GBです。これってメモリを開放する方法はないんでしょうか?
このままではいつか死んでしまいます…

以前使っていたOracle 8iではここまで酷くなかったんですが、MSDEって
こんなもんなんでしょうか?
644NAME IS NULL:04/03/02 12:41 ID:???
Tmaxのことはどこで聞けばいいですか?
645NAME IS NULL:04/03/02 15:44 ID:???
これ? ttp://www.tmaxsoft.co.jp/
初めて聞いた。いいのこれ?
646NAME IS NULL:04/03/02 16:21 ID:???
ttp://www.yamaha-motor.jp/mc/tmax/
の事かとオモタヨ
647NAME IS NULL:04/03/02 16:36 ID:???
>>645
dクスでつ

いや、関連スレ立ってないかなと思って聞いたんですよw
648NAME IS NULL:04/03/02 17:02 ID:???
>>645
あ、ちなみにイイよ。
649NAME IS NULL:04/03/02 17:16 ID:???
イイのか。
650NAME IS NULL:04/03/02 17:17 ID:???
なんだ、この雰囲気。
651NAME IS NULL:04/03/02 21:52 ID:???
>>643
BooksOnlineをダウンロードして読め。MSDEでもみんな一緒。
http://www.microsoft.com/downloads/details.aspx?FamilyId=A6F79CB1-A420-445F-8A4B-BD77A7DA194B&displaylang=ja

MSDEならどんなに使っても2GBで止まる。それ以上は要SQLServer Enterprise Edition。
メモリ使用量を制限したければServer memoryオプションを設定する。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/adminsql/ad_config_9zfy.asp
652NAME IS NULL:04/03/02 21:54 ID:???
あ、2GBで止まるってのは2GB以上は使おうとしないってだけで
Serverが死ぬわけじゃないぞ
653NAME IS NULL:04/03/03 00:21 ID:???
PL/SQLの勉強をしたいのでお勧めの本があったら教えて
このへん買おうかと思ってるのですが
http://www.amazon.co.jp/exec/obidos/ASIN/4881357093/qid=1078240648/sr=1-1/ref=sr_1_10_1/249-5868023-2598726
654NAME IS NULL:04/03/03 13:46 ID:62Ynbuxg
SQL Server 2000のデータをAccessのレポートで印刷したいのですが
参考になる書籍やサイトはありますか?
よろしくお願いします。
655NAME IS NULL:04/03/03 15:01 ID:???
一番簡単なのはAccessからSQL鯖にリンクテーブル張る。
そんだけ。
656NAME IS NULL :04/03/04 02:05 ID:KiYptLa2
SQLServer2000StandardEditionプロセッサライセンスを購入しようかと思ってます。
でもちょっと高いので悩んでます。
WEB用なのですが(アクセス数&接続数多し)皆さんならどうされますでしょうか。
ご教授頂けるとうれしいです。
657NAME IS NULL:04/03/04 08:38 ID:???
階層・ネットワーク・リレーショナル・オブジェクトなどの
データモデルがありますよね。リレーショナル型の場合はERDを使えば
表とそのまま対応していて容易にマッピングできますが、階層型や
ネットワーク型の場合にもERDで図式化した物をマッピングするのでしょうか。
それとも、階層型には私の知らない最適な図式化技法があるのでしょうか。
レベルの低そうな質問ですいませんが、ご教授くださいませ。
658NAME IS NULL:04/03/04 13:46 ID:WItZ+g8R
SQL文のサニタイズについて皆さんはどうやって対応していますか?
言語やDBによっても違うと思うのですが、一般的にはどうだっていうような例があれば教えてください。
ちなみに私はVB+SQL鯖です。
659NAME IS NULL:04/03/04 21:01 ID:B/JfZ/NC
eXcelonというXMLデータベースを使用しているんですが、
その中で「特定の条件で検索した後に先頭から100件分のみ取り出す」という事が上手く出来ません
現在は
/HOGE1/HOGE2[NAME = 'ABC' and position() <= 100]
のようにやっているんですが、
どうやら先頭から100件取り出してからNAMEがABCのものを取り出しているみたいなんです
どのようにしたら「特定の条件で検索した後に先頭から100件分のみ取り出す」という事が出来るのでしょうか?
660NAME IS NULL:04/03/05 00:16 ID:Dqvtfi6/
>>658
動的にSQLを組み立てるんなら危険文字をメタ文字にして打ち消し
SQL-Serverは知らんけどOracleなら'→''
どこに何を埋め込むかにもよるけど・・・

パラメタライズされた静的カーソルなら心配いらんでしょ
661NAME IS NULL:04/03/06 14:26 ID:Or9aX/WY
一時表領域を作ろうと思って例を探してみると、以下のようなものが出てきました。

CREATE TEMPORARY TABLESPACE "TEMP02"
TEMPFILE '/opt/oracle/oradata/umix21/TEMP02.dbf' SIZE 5M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

この最後の、” EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M”とは
何なのでしょうか?また、LOCAL UNIFORM SIZEは何を基準に決めるべき
なのでしょうか?

因みに一時表領域そのもののサイズは100Mを予定しています。
(order by, group byが多発するので・・・)

どなたかご教授下さい。よろしくお願いします。
662NAME IS NULL:04/03/06 23:21 ID:???
>>661

EXTENT MANAGEMENT LOCALは
「ローカル管理表領域」でGoogle先生に聞く。

UNIFORM SIZEは、あなたが管理するデータベースが
一度のソートで使う領域を想像して決める。
でも、あまり悩まずに1MB決め打ちでもよいと思う。
663661:04/03/07 23:06 ID:???
>>662
遅くなってしまいましたが、ありがとうございます。勉強になりました。
まずは悩まず1MBにしました。
664NAME IS NULL:04/03/08 01:19 ID:dsLr0VBl
エンティティ図を作れるフリーソフトはありませんか?
665NAME IS NULL:04/03/09 11:34 ID:???
インデックスについて教えて下さい。
table T(
A number,
B number,
C numver,
C varchar)
primary key(A,B)
のテーブルがあるとします。
Aにインデックスをつけて、検索条件フィールドA,Bで検索した場合、
Aにつけたインデックスは有効なのですか?
それとも、A,Bに対するインデックスを作成しなければなりませんか?
666NAME IS NULL:04/03/09 11:45 ID:???
MySQLをXPのコマンドプロンプトで使ってるんですが、
表の横幅がでかくなると見れたもんじゃなくなってしまいます。
DOS以外の方法とかで何かありませんか?
667NAME IS NULL:04/03/09 14:57 ID:OjzGnpVL
質問があります。
皆さんは、とても博識なようですが
どこでそのような知識・技術を身につけたのですか?
668NAME IS NULL:04/03/09 16:09 ID:???
このスレには100人の住人がいるが、
それぞれの人は一つずつしか知識を持っていない。
数人のすごい香具師が全部回答してると思ってたら大間違い。
おまいも一つでいいからみんなの役に立つ回答を汁。
669NAME IS NULL:04/03/09 16:20 ID:???
updateに関する事なんですが
テーブルに key, value1,value2,value3 というフィールドがありまして、
value1からvalue3の列に「yes」が格納されている場合に、yesの値をokに変えたいのですが
どのようなSQLを書けばいいのでしょうか。

key value1  value2  value3
 0   no   yes    no
 1   no    no    no
 2   yes   no    yes
 3   no    no    no
 4   yes   yes    no
 5   yes   yes    yes
670NAME IS NULL:04/03/09 18:01 ID:???
>>665
Aで定義したインデックスは使用される。
しかし
A,Bで定義したインデックスを使用した方が
理論上は高速になる。
671NAME IS NULL:04/03/09 20:24 ID:???
>>667
仕事。。。(;´д⊂)
672NAME IS NULL:04/03/09 20:29 ID:???
>>669
俺もSQL勉強しはじめなんで自信ないわけだが、

UPDATE tablename SET value1='ok',value2='ok',value3='ok'
WHERE ((value1='yes') AND (value2='yes') AND (value3='yes'))

な気がする。試してない。
673NAME IS NULL:04/03/09 20:35 ID:???
>>672
レスありがとうございます。
とりあえず試してみます。
674NAME IS NULL:04/03/09 22:30 ID:+hsyH+MS
直感的にダメすぎて理由を言いづらい・・・そんな疑問です。

「SYSDATEを使った機能テストをしたいからDBのシステム日付=UNIXサーバの時間を変えろ」
とかいう開発者がいるのですが、どーやって断ればなっとくするでしょうか?
(=そーゆーいかにもキケンな行為をすればどんな障害が待ち受けているか?)
675NAME IS NULL:04/03/09 23:43 ID:???
はじめまして。
私は本当にデータベースの基礎も知らない初心者なんですが、
仕事でデータベースを作らなければならない事になってしまいまして
何から手をつけていいのか全くわかりません。

書籍なども探してみたのですがやはりどの本を購入していいのかも
分からない状態でした。
そこで初心者でも作れるようなデータベースの入門ソフト
等はありませんでしょうか?
できればweb上に置いて誰でもすぐ検索できるようなものにしたいのですが・・
どなたか教えていただけるとありがたいです。

長文、乱文、失礼しました。
676NAME IS NULL:04/03/10 01:13 ID:???
>>672
全部当てはまる行に関しては大丈夫みたいですが、
一部の列だけyesの場合は駄目みたいです。
677NAME IS NULL:04/03/10 02:44 ID:???
>>676
言ってることが違うじゃないか
>value1からvalue3の列に「yes」が格納されている場合に

こう言われたら普通andだと解釈する。
andをorにすればやりたいことはできるだろう。
678NAME IS NULL:04/03/10 02:53 ID:???
>>674
SYSDATEの代わりに固定でも変数でもいいから
別の日付を突っ込んでやればいいだけじゃないの?

実際日付を一気に進めるとどうなるんだろう
cronがプロセスを大量生成したりするんだろうか?
679NAME IS NULL:04/03/10 06:35 ID:upptcX22
>>675
データベース単体だけだとWEB上に置いても検索とかするのはしんどいと思われ
680NAME IS NULL:04/03/10 08:30 ID:???
>>674
テスト用にサーバーを一台買わせる。

ていうか、テストサーバーで開発してないの?
681NAME IS NULL:04/03/10 08:35 ID:???
>>675
データベースは何使うの?
システムは何(言語)で開発するの?

それがわかれば自ずからやるべきことが見えてくると思うが。
682NAME IS NULL:04/03/10 10:57 ID:???
>>669
UPDATE HOGE SET
VALUE1 = DECODE(VALUE1, 'yes', 'ok' VALUE1),
VALUE2 = DECODE(VALUE1, 'yes', 'ok' VALUE2),
VALUE3 = DECODE(VALUE1, 'yes', 'ok' VALUE3)

by oracle
683NAME IS NULL:04/03/10 13:22 ID:???
>>677
すいません、回りくどい説明でそうとっちゃいますよね、申し訳ない・・・
keyの列を除いて、noはそのままでyesが格納されてたらokにしたいんです。


>>682
検索した所 MYSQLだと無理みたいですね、便利だなぁ・・。
ifを使うべき場所に使用するみたいなので、いいヒントになったかもしれません。
684NAME IS NULL:04/03/10 13:34 ID:???
>>674

「とかいう開発者」の言ってる事は正しいと思うが。
>(=そーゆーいかにもキケンな行為をすればどんな障害が待ち受けているか?)
↑おまいの「断る」行為のがよっぽどキケンと思われ。
断った後、どうするつもりだ?
テストしないのか?
業界人ならアリエナイ。
>>680 の言う通り。
最悪、>>678 の方法か。

>>675
DBなんてのは、基礎さえ解ればどんなのでもいけると思うぞ。
だから>>681のいうとおり、何を使うか決めて、それの参考本買えばヨシ。
685NAME IS NULL:04/03/10 17:14 ID:???
>>680が(・∀・)イイコトイッタ!!
686NAME IS NULL:04/03/10 19:55 ID:???
YBBを脅した人物名でググると・・・衝撃の新展開
http://society.2ch.net/test/read.cgi/koumei/1077620009/l50
687NAME IS NULL:04/03/11 00:00 ID:???
>>683
updateを3回書いてtransactionで囲っておく。
同じrecordが3回updateされるが
データが多くなければ問題ないでしょ。
688NAME IS NULL:04/03/11 00:01 ID:???
>>683
並べちゃえ。
BEGIN TRANSACTION
UPDATE tablename SET value1='ok' WHERE value1='yes'
UPDATE tablename SET value2='ok' WHERE value2='yes'
UPDATE tablename SET value3='ok' WHERE value3='yes'
COMMIT

>>675
俺も先週から触るはめに陥ってるわけだが、SQL自体に関しては最近本屋で買ってきた
「SQL Serverで学ぶデータベース入門」がすごくとっつきやすかった。
UNIONとか載ってないんですぐ別の本買いに走ったけど、とにかくとっつきやすい。
全文検索システムとかに関する質問だとしたらすごくピンボケな回答だと思いますが。

>>687
先に書かれた…
689NAME IS NULL:04/03/11 00:05 ID:4Xo5yRZU
質問ですが私が今まで見た論理ER図、物理ER図って日本語表記(論理カラム名)、
英字表記(物理カラム名)しか違わなかったんですが、違いはそれだけでしょうか?

なんか両方見比べるのがめんどうだと思っていたのですが、
Visio でリバースすると論理名、物理名両方を併記するオプションがありました。
こっちのほうが見やすいと思ったのですが、規格とかがあるのでしょうか?
併記するのは一般的ではないのでしょうか?

論理、物理に分けるのは DB 設計過程で必要なだけ?
690675:04/03/11 00:28 ID:???
>>679,681,684
レスありがとうございます。
とりあえず参考書を購入してじっくり勉強してみることにします。

作るのは今すぐって訳でもないのであせらず行きたいです。
691NAME IS NULL:04/03/11 01:31 ID:uz6YqTUp
 |A   |B
A|125|125
B|122|247
C|43 |290

Aの値が入ってるとき
Aの値をそれぞれ足していってBに小計をだしたいのですが
どうすればいいのでしょうか?
可能でしょうか?
125
247
692NAME IS NULL:04/03/11 03:08 ID:uNfxyU9o
>>691
おい、俺はケツの穴でジャンケンができるが
俺と勝負するか
693NAME IS NULL:04/03/11 03:12 ID:???
>>687
>>688
それかないような気がしてきました。
検索してみたり、それを参考にしていろいろ試してみたんだけど
どれもうまくいかなかったです・・・。
694NAME IS NULL:04/03/11 11:19 ID:???
id value
1 125
2 122
3  .43

SELECT id, value,
(SELECT sum(value) FROM hoge AS fuga WHERE fuga.id <= hoge.id)
FROM hoge;
695NAME IS NULL:04/03/11 15:23 ID:???
>>693
同じレコードを何度もupdateするのが
どうしてもイヤなら、力ずくで

value1='yes' / value2='yes' / value3='yes'
value1='yes' and value2='yes'
value1='yes' and value3='yes'
value2='yes' and value3='yes'
value2='yes' and value2='yes' and value3='yes'

で7回書くという方法もある。

updateされるデータの中身によっては
無理してSQL1発でやるよりも複数に分割したほうが早い場合もあるから
よく検討してみるべし。
696NAME IS NULL:04/03/11 21:56 ID:???
>>695
こうゆうやり方もあるんですね、
よく検討してみます。
ありがとうございました。
697NAME IS NULL:04/03/12 11:34 ID:4cBS831l
どうしても思い出せないので教えてください・・
○○ into TABLE values('A003','200');
確かこのようなsqlだったと思うのですが、
キーの値を見て
そのキーが存在しなければinsert処理
そのキーが存在すればupdate処理
というような事をsql一文でできたような気がするのですが
どのような構文だったでしょうか・・

698NAME IS NULL:04/03/12 14:01 ID:???
>>697
マージのことか?
699NAME IS NULL:04/03/12 18:54 ID:DSJIL3tD
MySqlにAccessで作成した.mbdファイルをインポートもしくは変換する上手い方法はありますか?
Accessでエクセルに落としてからすると、フィールドを1つ1つ登録し直さなければいけないので面倒です・・・。
700NAME IS NULL:04/03/12 19:18 ID:???
700(σ´Д`)σゲッツ!!

>>699
CREATE文ってExportできなかったか?
701NAME IS NULL:04/03/12 22:55 ID:???
>697
9以降の Marge 文
詳しくは、ぐぐるべし。
702NAME IS NULL:04/03/16 00:25 ID:ckSh60+r
DBトリガーについて、
新しく挿入された行だけに対して、指定の属性に値を自動的に生成するトリガー
ってどう作ればいいの?

703NAME IS NULL:04/03/16 01:10 ID:???
>>702
DBMS名くらい書こうよ
704NAME IS NULL:04/03/16 03:21 ID:???
そんなことより聞いてくれよ
坊さんの絵を描こうとして
「僧衣」でぐぐったんだ
そしたら一番上が
705NAME IS NULL:04/03/16 10:17 ID:ES2R7WH4
相談なのですが、
日付, ID, 記事 ←こんな感じのテーブル(PKは日付とID)があり、
ここから「最新3日分」のレコードを取得したいのです。

毎日かならず記事があるわけではないため、
 where (3日前の日付) < 日付 and 日付 <= (今日の日付)
っていう条件は使えません。また、1日に何件のレコードがあるかも可変のため、
「上位x件を取得」っていう方法も使えません。

例を示します。
日付, ID, 記事
20040310, 0, あああ → 20040312, 0, いいい
20040312, 0, いいい → 20040312, 1, ううう
20040312, 1, ううう → 20040313, 0, えええ
20040313, 0, えええ → 20040315, 0, おおお
20040315, 0, おおお → 20040315, 1, かかか
20040315, 1, かかか → 20040315, 2, ききき
20040315, 2, ききき → 
こういう感じです。今日以前の日付をもつ記事で存在するもの3日分。

考えた結果、「今日の日付から1日ずつさかのぼってSQL発行をループし、
結果が返ってきたものが3つたまったら終了するという方法」と、
または、「全件取得してコーディングでなんとかする方法」しか
考えられませんでした。

不可能ならしかたないですが、できればSQL一発で必要なレコードだけを
取り出したいです。そんなSQL文があるならば教えてください。

DBはMySQL、言語はperlです。DBI-MySQLを使ってます。
MySQLは4.0のため、副問い合わせは使えません。
706NAME IS NULL:04/03/16 12:17 ID:???
GROUP BY で3日分取り出して
それぞれの日付で取ったらいいじゃん

副問い合わせが使えないなら複数回必要かな
707705:04/03/16 13:12 ID:???
>>706
なるほど。どうもです
708NAME IS NULL:04/03/16 13:50 ID:???
group by ?
distinctじゃねーのか?

それよりも、記事日付マスタ
を作ればいい。(正規化すれ。)
20040310
20040312
20040313
20040315
こいういうテーブル

記事追加時にマスタに記事日付
が無ければ追加する。

その記事日付マスタテーブルから
最新3レコードを対する記事を
抽出すれば良い。
そうすれば、高速化にもなる。
(最新3レコードデータを抽出するのに
トランザクションデータを全部舐めなくて済むから。)
709708:04/03/16 13:57 ID:???
group byは遡って最新日付を
取得するってことか。
スマンカッタ
710NAME IS NULL:04/03/16 22:24 ID:???
>>704 ウホッ
711NAME IS NULL:04/03/16 22:25 ID:f6p4Nu17
二つのテーブル
A B
1 105
2 24
3 43

A B
1 33
2 29
3 29
とあった場合
この二つのテーブルを一つにまとめて
1 105
2 24
3 43
1 33
2 29
3 29
をサブクエリなどを使って一つのSQLだけで作成すること可能でしょうか?

また二つのテーブルを合算して
1 138
2 53
3 72
みたいにしたい時、一つのSQLで可能でしょうか?
712NAME IS NULL:04/03/16 22:44 ID:???
>>711
上のは、UNION使えば出来る。
下のは、、、出直してきます。
713NAME IS NULL:04/03/16 23:09 ID:???
>>711の下
select a,sum(b) from (select * from T1 union all select * from T2)as foo group by a;

>>712
上が出来りゃ、下の答えも出たも同然。
ま、がんがれ。
714712:04/03/16 23:33 ID:???
>>713
おー、なるほど。
考えれば出来そうだけど、そーゆーのがパッと思いつけるよう頑張ります。
715NAME IS NULL:04/03/16 23:51 ID:Ev2MuI6C
PL/SQLの変数の中に入っている値が文字か数字かを
判断する方法はありますか?
型変換の関数を使用してうまくいくかどうかを判断すればいいのかなと
思うのですが、手元にORACLEを実行できる環境がないため検証が出来ません。

大変申し訳ございませんが、ご教授いただけますでしょうか。
716NAME IS NULL:04/03/17 01:32 ID:???
>>713
俺ならこう書くな
select T1.a,T1.b+T2.b
from T1 inner join T2 on T2.a = T1.a

個人的にunion使う機会がほとんどないので
こういうほうが先に思いつく。
717NAME IS NULL:04/03/17 08:06 ID:???
>>715

こんなんでいいの?

SQL> r
 1 begin
 2  dbms_output.put_line(to_number('a'));
 3 exception
 4  when others then
 5  dbms_output.put_line('not a number');
 6  dbms_output.put_line(SQLERRM);
 7* end;
not a number
ORA-06502: PL/SQL: numeric or value error: character to number conversion error

PL/SQL procedure successfully completed.
718NAME IS NULL:04/03/17 08:58 ID:???
>>716
713じゃないが、オレも最初それ(>>716
を思いついたが、
どちらかのテーブルにしか
無いA(キー)の値のレコード場合、
完全外部結合(full outer join)
をしなければならない。
(後COALESCE等でnullを0と見なさないとおいけない)

完全外部結合をサポートしていない
DBMSもあるから、>>713が無難かもね。
719NAME IS NULL:04/03/17 14:59 ID:4x3lGIQg
terminalサービスからOracleのsqlplusを使用できる方法ってありますか?
ディフォルト設定ではError:ORACLE-12560の「プロトコル・アダプター・エラー」が発生するのですが?
720初心者:04/03/17 16:13 ID:5KItO+U5
すみません。教えてください。
WHERE句の処理順効率とかあるのでしょうか?
例えば、WHERE A=1,B<>1,C=1 でそれぞれの単独HIT数が
A=1:2 B<>1:9 C=1:5の場合、WHERE句が右から左へ処理すると仮定すると
WHERE B<>1,C=1,A=1 がもっとも早く、
WHERE A=1,C=1,B<>1 がもっとも遅いとか・・・
それとも、順番は関係ないでしょうか?
宜しくお願いします。
721NAME IS NULL:04/03/17 16:25 ID:???
>>720
あるといわれているが、オプチマイザ次第かな。
当然各列に対応するインデックスがないと無理だが。
で、順番が逆。左から右へだ。
722教えて君:04/03/17 17:00 ID:YJKO+CRh
すいません、おしえてくださいいいい
MSSQL使用でPHP4.3.4の環境ですが
Insertでオートインクリメント生成されたIDを取得したい場合、
SCOPE_IDENTITY ()が対応できないらしいのですが、
どなたか対応方ご存知なかたいらっしゃいますか?
723NAME IS NULL:04/03/17 19:13 ID:???
すみません、教えてください。
テーブル内の全データを削除する場合、ROLLBACKが必要なければ、
TRUNCATEが一番効率いいんですよね?
全データではなくて特定の大量データを削除する際にも似たような
処理は可能でしょうか?
DBMSはOracle7.2で、10万レコードくらいのテーブルから1万行くらい
を削除したいのですが、外部キーとしてこのテーブルを参照している
テーブルが多くあり(カスケードで削除されるようにしてあります)、
一度に削除しようとすると時間がかかる上によくハングアップします。
ROLLBACKの必要はないので一気に削除したいのですが…。
こんな基本的なことも知らないでデータのお守りをしているのは
恥ずかしいのですが、どなたかご教示いただけませんでしょうか。
724NAME IS NULL:04/03/17 19:18 ID:2N7Ppo+f
その場合はTruncateは使えない。
そういう時はPL/SQLで100件づつとかでCommit入れて削除している。
Cursor定義して、それから一見づつフェッチ・削除そのときに変数で件数カウントして
100件になったらCommitいれて、フェッチが終わるまでループ。
こんな感じ。
725NAME IS NULL:04/03/17 19:46 ID:A06Uz+sP
>>721
ありがとう。
カーソルっていまいちわかんないんだけど、
静的カーソルと動的カーソルってどう使い分けるの???
726723:04/03/17 22:24 ID:???
>>724
やっぱりそうするしかないんですね。
今後は不要なデータなのでトランザクションに入れずにざっくり削除したいと
思い、TRUNCATEに相当するような命令がないか質問させていただきました。
早速に教えていただいてありがとうございました。
727NAME IS NULL:04/03/18 12:31 ID:v4tozHtw
零細製造業の我が社でも
データベースもどきを作ることになってしまいました。

1つの受注品目に、15点ほどの項目を入力していきまして
(通し番号、金額、作業内容など・・・)最後の項目には
図面や写真データを入れたフォルダにリンクさせたりします。

エクセルで事足りそうなのですがどうでしょうか? 
どうかご教示くださいませ
728NAME IS NULL:04/03/18 12:42 ID:???
>>726
カスケード削除対象のテーブルも
truncateしてからtruncateする
729728:04/03/18 12:45 ID:???
ん?
>DBMSはOracle7.2で、10万レコードくらいのテーブルから1万行くらい
>を削除したいのですが、
truncateは全件削除しかできないはずだが...
730NAME IS NULL:04/03/18 15:28 ID:qqtApBiw
>728
よく読め。
>全データではなくて特定の大量データを削除する際にも似たような
>処理は可能でしょうか?
と聞いてるだろうが。
731NAME IS NULL:04/03/18 19:02 ID:???
そりゃ悪かったな、それくらいで
怒るなよ、便秘か?

バッファキャッシュが
がデフォルトままになってねーか?
その辺りをチューニングすると時間やハングが
改善される(こともある)ぞ。
732NAME IS NULL:04/03/18 19:54 ID:???
>>731
その線(便秘のことではないw)大だな。
カスケード行合わせてもたかが数万件だろ?
1レコードがどれだけあるかは分からないが、
1レコード=1kバイトとしても数十MB...
一回、削除対象のサイズを調べて、メモリ管理周り
設定を見てみたら?
チューニング済みなら、SIMM積んでるマシンとか?
733723:04/03/18 21:52 ID:???
>>731-732
引き続きアドバイスいただいてありがとうございます。
Oracleのことを知らないままにメンテナンスをする羽目になってしまい、あわてて
買ってきた本やWebサイトなどを見ながら悪戦苦闘しているところです。
削除プログラムの処理を見直すとともにバッファキャッシュとかのメモリ関係も
確認してみることにします。
また悩むことがあったら質問させていただくかも知れませんが、よろしくお願い
いたします。
734まるまる:04/03/18 21:53 ID:n3Q5GgCV
Windows 2000 Server に Oralce 9i をインストールして利用しています。
Windows の管理ツールで、OracleServce を再起動させると、クライアントからデータの参照ができなくなります。
Enterprise Manager Console で状態をみると、インスタンスが停止となります。毎回、手動でインスタンスを開く にしているのですが
どうすれば自動的にインスタンスを開くことが出来るでしょうか?

サーバーの再起動するたびに、データベースが停止状態になるので何とかしたいと考えています。

(データベース構築時にはこんな現象はなかったんですが。。。。)

よろしくお願いいたします。
735NAME IS NULL:04/03/19 02:08 ID:???
>>734

スタート
→ プログラム
→ Oracle - OraHomeXX
→ Configuration and Migration Tools
→ Administration Assistant for Windows NT
→ データベース
→ (データベース名)
→ 起動/停止オプション
→ サービスが開始されたときにインスタンスを起動します
736NAME IS NULL:04/03/19 14:20 ID:0YIPQ106
>>735
ありがとうございます。OS再起動時は大丈夫のようです。

ただ、Windows の管理ツールでOracleServce を再起動するときはまだNGです。
これはまた別の理由があるのでしょうか?

OracleServiceOEMREP のサービスはとまっていますがこれが原因でしょうか?

737まるまる:04/03/19 16:15 ID:0YIPQ106
>>735
ありがとうございます。OS再起動時は大丈夫のようです。
と思いきや、だめなときがあります。

うーん。。。。。
738NAME IS NULL:04/03/19 19:11 ID:RTnK1vPT
初心者です。
ORACLE8で"LEFT JOIN","RIGHT JOIN","INNER JOIN"って使えるのですか?
基本的な事ですいません。
739NAME IS NULL:04/03/19 19:19 ID:NdS6mGsA
tes
740NAME IS NULL:04/03/19 19:51 ID:???
>>738
それって9iからじゃなかったかぁ?
741NAME IS NULL:04/03/19 20:41 ID:Fs4c83DI
ストアドプロシージャを使って、取り出す列名を変数で指定できませんか?
SELECT @ColName from xxx
とかやると、変数の値がそのまま出てきちゃうんですよね。
本当は、xxxテーブルの@ColNameが示す列の値が欲しいのです。
よろしくお願いします。
ちなみにSQLServer2000でテストしてます。
742738:04/03/19 20:47 ID:RTnK1vPT
>>740さん
ありがとうございました。
743NAME IS NULL:04/03/19 22:19 ID:???
>>737

起動しようとしているのだけど失敗するのかもしれないね。
アラートログファイルに何かエラーが出力されていないか、チェックした?
744まるまる:04/03/19 23:36 ID:0YIPQ106
>>743
Errで始まる行はありませんでした。。。
745まるまる:04/03/20 02:40 ID:vWtpUCFM
>>744
これで解決しました。

配下の「sqlnet.ora」内に以下の内容を書込み
 SQLNET.AUTHENTICATION_SERVICES = (NONE) ←(NTS)から変更

うーん。ネットワーク上にドメインサーバーがきたからなのでしょうか???
ドメイン参加させてないんだけどなぁ。。。
746NAME IS NULL:04/03/21 13:58 ID:Wt84xwBZ
顧客リストを扱うデーターベースの制作を依頼したのですが
製作者が勝手にデーターベースから情報を抜き取ることって
できるのですか?
747NAME IS NULL:04/03/21 14:29 ID:???
>>746
可能。インターネットと切り離していてもソーシャルな方法はいくらでもある
748NAME IS NULL:04/03/21 14:33 ID:Wt84xwBZ
>>747
ありがとうございます。
どのような対策をすればいいでしょうか?
749NAME IS NULL:04/03/21 20:53 ID:hr74spv5
メモリを増設したのですが、パソと合ってるのか、合ってないか
わかりません。
PCとメモリの相性がわるいと、どうなるんですか?
どなたかどうかおしえてください(+_+)
750NAME IS NULL:04/03/21 22:04 ID:bfLvPoJa
ここでVB関連の話をしてもいいものかわかりませんが

VisualBasic6.0でデータベースアプリケーションを作成しようとしています。
Accessで作成したmdbをVBに連結させるというものですが、
『3週間完全マスター、VB6.0データベース』の本に付属しているMDBファイルは
VBのDateSourceプロパティ、RecordSourceプロパティとも正常に読み込むのですが、
私が作成したMDBファイルはRecordSourceプロパティ設定でエラーが起きてしまいます。

クエリもフォームもテーブルもちゃんと作成したのに、なんで読み込みエラーになるのか
全くもって意味不明です。

ちなみにファイルのプロパティである『読み取り専用』もちゃんとチェックを外しています。

VBとAccessに詳しい方、よろしくおねがいします。
751NAME IS NULL:04/03/21 23:37 ID:BLc7sWfM
FedraCore+Apache2+Tomcat5+MySQL4でJSPを使用したデータベースプログラムを
作成しています。本にあったサンプルを動かそうとしているのですが、下記の
ようなエラーが発生してデータベースに接続できません。ユーザーは、rootで
パスワードも何度も確認して間違えはありません。
何か考えられる原因はありますでしょうか?
よろしくお願いします。

javax.servlet.ServletException: Invalid authorization specification: Access denied for user: 'root@[マシン名]' (Using password: YES)
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800)
org.apache.jsp.dispdata_jsp._jspService(dispdata_jsp.java:92)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
752NAME IS NULL:04/03/22 09:54 ID:???
>>750
ファイルパスが正しくないとか。
753NAME IS NULL:04/03/22 09:56 ID:???
>>751
[email protected]のユーザーがいないかアクセス権が無いとか。
MySQLのlocalhostとJDBCのlocalhostは別物。
754751:04/03/22 12:40 ID:7lgsYoUs
>>753 さん
レス、ありがとうございます。
rootでデータベース起動&rootでログインしてDB・テーブル作成しています。
MySQLは、初めてなもので・・・。
確認事項や対処法・ググるキーワードなどを教えて頂ければと思います。
755753:04/03/22 16:25 ID:???
>>754
勘が正しければ…、

MySQL総合 Part2
http://pc2.2ch.net/test/read.cgi/db/1079502373/13

あたりが答えじゃないかな。
756750:04/03/22 17:31 ID:???
判明いたしました。

作成したmdbファイルをAccessのツール⇒データベースユーティリティで
『最適化』や97、2000への変換をするとVisualBasic6.0で読み込めるようになりました。
ようするに、私が今まで作成したファイルはAccess2002形式(OfficeXP)だったので
古いソフトウェアであるVB6.0が対応していないものと思われまする
757NAME IS NULL:04/03/22 17:48 ID:???
>756
VBというより、コントロールのバージョンでは?
その本で何をどうしてるかワカランので何とも言えんが。
っつーか1999年発刊の本でベンキョすんのはやめたほうがよいかと。

758751:04/03/22 22:55 ID:7lgsYoUs
>>755 さん
ありがとうございました!
無事解決しました。
あのスレッドを参考に、いろいろぐぐってやっと、自分の環境でも動くようになりました。
どうもありがとうございました。
759NAME IS NULL:04/03/23 09:56 ID:84jO3Rlp
質問です。

Hirdbのver7です。

available file sizeってあるじゃないですか?
あれのサイズってどういう基準で決まるんでしょうか?

まったく同じ構成で作っても値が変わることがあるし、
多分開き領域の断続が原因だとは思うんですが、それを解消することとかってできますか?

なにぶんDBを触って2週間なんでわからないことだらけです(´A`)

だれかが助けてください。
760NAME IS NULL:04/03/23 17:18 ID:GUHopfM3
初めて書き込ませていただきます。
質問なのですが、UNISYS2200/OS1100 と言うちょっと前の環境で動いていた
DBの名称が分かる方いらっしゃいませんでしょうか?
7年程前によく使用されていたDBです。
ご存知の方がいらっしゃいましたら何卒ご教授下さいませ。
761NAME IS NULL:04/03/23 17:59 ID:???
VC++6とSQLServerでデータベースクライアントを作っているのですがデータのロックってどうやればいいですか?
データベースは初めてでよく知らないのですが複数のユーザが同時にアクセスする可能性があるテーブルのデータを更新するときはロックしてからでないとだめなんですよね?
762NAME IS NULL:04/03/23 18:09 ID:onXGrYzp
Solidと言ったデータベースを知っていますか?

ODBCが欲しいのですがどこにあるのか知っている人教えてーーー!

ください。
763NAME IS NULL:04/03/23 22:13 ID:OVhVMybW
知っている人いたら教えてください。
有名なRDBのうちオラクルとSQLsever以外、MySQLとPostgreSQLではどちらがよく使われてるんでしょうか。
764NAME IS NULL:04/03/23 22:31 ID:???
>>761
VCからの操作って知らないけどMSDNライブラリーを漁れば出てきそうな希ガス。
ロックについてはこれでも読んでね。
ttp://www.microsoft.com/japan/msdn/sqlserver/columns/webtech/webtech1.asp
ttp://www.microsoft.com/japan/msdn/sqlserver/columns/webtech/webtech2.asp
ttp://www.microsoft.com/japan/msdn/sqlserver/columns/webtech/webtech3.asp
765NAME IS NULL:04/03/24 20:44 ID:OQAbVJ25
windows2000で、mysqlをはじめたのですが、
バッチ処理をさせる為のバッチファイルはどこに置けばいいの?
766NAME IS NULL:04/03/25 01:37 ID:tVk7ipb4

すみません、教えてください。。。

銀行の窓口に並んでいる人数を10秒おきに数えた、
以下のようなテーブル(COUNT_TBL)があるとします。。(変な例えですみません。。)

COUNT_TBL

  PEOPLE   TIME
    3     12:00:00
    4     12:00:10
    5     12:00:20
    2     12:00:30
    1     12:00:40
    6     12:00:50


このとき、
SELECT AVG(PEOPLE) FROM COUNT_TBL
と打てば、全データのPEOPLEの平均を出してくれるように、
30秒毎のPEOPLEの平均を出してくれるsql文は書けるでしょうか。
上記の例で言えば、

4
3

と出力してくれるようなものです。
因みにPEPLEはNUMBER型、TIMEはCHAR型(DATE型でもかまいません)、
DBはORACLE9iで、一本のsql文で出力したいと思っています。

どなたかご教授ください。
よろしくお願いします。
767NAME IS NULL:04/03/25 01:54 ID:???
>>766

SQL> r
 1 select avg(people),
 2     half_min
 3 from (select people,
 4        substr(time, 1, 6) ||
 5        decode(substr(time, 7, 2),
 6           '00', '00', '10', '00', '20', '00',
 7           '30', '30', '40', '30', '50', '30') half_min
 8    from  count_tbl)
 9* group by half_min

AVG(PEOPLE) HALF_MIN
----------- --------------------
     4 12:00:00
     3 12:00:30
768766:04/03/25 09:56 ID:???
>>767
凄い。どうもありがとうございました。
769NAME IS NULL:04/03/30 17:12 ID:98KvAINH
すいません、行き詰まったので、だれか助けてください。
今、SQLでデータを更新しようとしています。
たくさんあるテーブルから、条件にあうテーブルの名前をsysobjectsから選んで、
選ばれたテーブルのデータを更新しようとしてます。
で、クエリアナライザで次のようにして実行すると、エラーになりました。

BEGIN
DECLARE @TABLENAME CHAR
DECLARE A CURSOR FOR SELECT name FROM dbo.sysobjects WHERE type = 'U '

OPEN A
FETCH NEXT FROM A INTO @TABLENAME
WHILE @@FETCH_STATUS = 0

BEGIN

UPDATE @TABLENAME
SET i = 15
WHERE j = 1 AND i =16 ;

FETCH NEXT FROM A INTO @TABLENAME

END

CLOSE A
DEALLOCATE A
END

どなたか、解決法お願いします。
770NAME IS NULL:04/03/30 17:23 ID:???
使ってるDBの名前とエラーメッセージを書いてちょ
771NAME IS NULL:04/03/30 17:44 ID:98KvAINH
使ってるDBはSQL Server です。
エラーメッセージは、

サーバー : メッセージ 137、レベル 15、状態 2、行 12
変数 '@TABLENAME' を宣言する必要があります。

と出ます。
よろしくお願いします。
772NAME IS NULL:04/03/31 10:37 ID:x9mAGlVO
a1,a2,a3というカラムがあって、a1とa2が同じでa3が最大のものを選択する
ことをsql文だけでできるのでしょうか?
773NAME IS NULL:04/03/31 11:59 ID:???
>>772
できる。
774772:04/03/31 14:25 ID:x9mAGlVO
どのようなSQLを発行すればいいのでしょうか?
775NAME IS NULL:04/03/31 21:49 ID:???
>>774
>>772の説明だと2通りのとらえ方が出来るのだが、

SELECT a1,a2,MAX(a3) FROM t1 GROUP BY a1,a2;
SELECT max(a3) FROM t1 WHERE a1=a2;

多分前者だろうと思うけど。
776NAME IS NULL:04/03/31 22:03 ID:Sgv+rTWa
超初歩的な問題で悩んでます。

DB(Access)を作成しようと思うのですが、テーブル設計時に
コード(ID)にあたる部分を文字列型にした方がいいのか、
数値型にした方がいいのか・・・。

実用時にはコードは3桁と決まっています。


文字列型にすると昇順/降順の並び替え時にそめんどくさいし…。(表示用フィールドを作ったり)
数値型にすると桁数の管理がこれまた大変だし・・・。

どうやるのが一般的なんですか?
777NAME IS NULL:04/03/31 22:59 ID:???
>>769
executeコマンドでupdate文を動的SQLにすれば動くはず。
使い方はBooksOnline見てくれ
778ぬるぽさん:04/03/31 23:52 ID:xQP6nkp+
Access2000のおバカな質問です
テーブルが二つあって、つくりは全く同じです。
片方のテーブルには、もう片方にはあるレコードがいくつかありません。
その欠けているレコードを簡単に追加する方法はありませんか?
779NAME IS NULL:04/04/01 00:48 ID:waMFQreO
二つに分けている意味がわからん。
同じ構造で同じデータなの?
780ぬるぽさん:04/04/01 00:55 ID:m25hwLzD
>>779
正確に言えば、データに動きがあったモノだけ抽出しているので、
0なものが抜けているんです

手動でやるなら、クエリーで一致しているのを引いて、
残りをぶち込めばいいんですけどね
781NAME IS NULL:04/04/01 01:02 ID:???
>>778
Accessで動くかどうか知らんが、以下のSQLでいけるかと。
INSERT INTO t2 SELECT * FROM t1 WHERE NOT EXISTS (SELECT * FROM t2 WHERE t2.pkey=t1.pkey);
782ぬるぽさん:04/04/01 01:12 ID:m25hwLzD
>>781
ありがとうございます
明日試してみます
783NAME IS NULL:04/04/09 20:33 ID:sc8M03xd
SQLserver2000を自習したいのですが、ソフトが高すぎて・・・・。
何かいい方法ないですか?
784NAME IS NULL:04/04/09 21:25 ID:???
>>783
マイクロソフト サービスパック & 評価版オーダーセンター
http://www.microsoft.com/japan/products/shop/dept.aspx?dept_id=19

SQL Server 2000 120 日間限定評価版 Release A
(Reporting Services Disk 同梱) \ 1575-(税込)

だけど?

まぁOracleみたいに90日体験版みたいなのを俺も探してはいるんだけど。
785783:04/04/09 22:09 ID:???
>>784 んげー、ありがとう。
786NAME IS NULL:04/04/10 01:17 ID:???
787783:04/04/10 02:30 ID:???
サインインがうまくいかないよ???
パスポートないんだけど、発行の手順で戻ってしまいます。。。
788783:04/04/10 02:34 ID:???
789783:04/04/10 02:54 ID:???
うまくいきました。
すいません。。。。。
790NAME IS NULL:04/04/10 16:37 ID:G973f8kk
C言語の埋め込みSQLを現在しているところを
SELECT *  FROM TBL
WHERE A = :A;

LIKEを使ったWHERE条件に変えたいんですが
 
SELECT *  FROM TBL
WHERE A LIKE ':A%'

としても動いてくれません。
埋め込みSQLでLIKE文は使えないんでしょうか?
791NAME IS NULL:04/04/11 01:44 ID:???
困っているので質問させてください。

企業間の取引で、相手先からデータをもらおうとしています。

ヘッダー行とかついているCMTファイルをもらうのが一般的のようですが、
PCで読めるテキスト形式のファイルでもらったのと比べて
どういうメリットがあるのでしょうか?

またテキストでもらったものを、ホストで読もうとする場合、
どういうプロセスが必要になるのでしょうか?

こういったインターフェイスに関する知識を身に付けるため、
本屋で参考書を買おうと思うのですが、、
データベース関連の初心者の本を探せばよくわかりますか?
792NAME IS NULL:04/04/11 07:45 ID:???
>>791

>またテキストでもらったものを、ホストで読もうとする場合、

コード変換が必要。
793791:04/04/11 10:28 ID:???
>>792

ありがとうございます。
ちなみにコード変換というのはどうすればよいのでしょうか?
ユーザー部門でもできるものでしょうか?



794NAME IS NULL:04/04/11 11:47 ID:???
データベースというか、Windowsの知識や基本的なプログラミングの知識が
欠けているように思えますが?
795NAME IS NULL:04/04/11 11:48 ID:???
>>794
Windowsは間違えで、OSだったーよ。
796NAME IS NULL:04/04/11 13:19 ID:???
>>793

どこのホストなの?
環境書かないと教えようがない
797791:04/04/11 15:13 ID:???
>>796

ホストはIBMのMVSとかいうやつみたいです。

僕はユーザー部門なので、どういうファイルをもらってどう渡すかだけなんですが、
CMTとかさっぱりわかんなくて、ここで聞いています。
理想はEXCELファイルを渡せば後は勝手に処理してくれるという方法なんですが、
それはさすがに無理っぽいので、せめてテキストファイルにしたら、
ホストの処理も可能になるのかなあと考えました。

よろしくお願いします。
798NAME IS NULL:04/04/11 15:31 ID:???
>>797

うちExcelで貰って
CMTで返してるぞ

さすがにHOSTでExcel読めないから手でCSVにしてるけどな。
ホストのエミュレータにCSVの読込機能ついてるだろ?

外字とか化けるんで気をつけろ。
799NAME IS NULL:04/04/11 15:32 ID:???
800NAME IS NULL:04/04/11 19:17 ID:???
>>798,>>799

ありがとうございます。
とりあえずCSVなら大丈夫そうですね。

ついでに聞いちゃいますが、
CSVでも保存形式がいろいろありますよね。
固定長ファイルでデータを渡すのと、カンマ区切りで渡すのとでは、
ホスト側の作業者にとって、何か違いはありますか?
一般的にはどうなんでしょう?
801NAME IS NULL:04/04/11 20:28 ID:vGWX2aWJ
>>800

CSVはカンマ区切りでしょ。

固定長のSAMファイルで貰ったほうが
返還する手間が省けるからいいけど
たいした手間でもないから

むしろあんまり変なことされるより
EXCELで貰った方がありがたいけど。
勝手にCSVにして取り込むから。
802NAME IS NULL:04/04/11 20:29 ID:???
ところで逆質問

なんでDB板で?
プログラム板とかで聞いた方がいいんじゃないか?
803NAME IS NULL:04/04/11 20:38 ID:i9uIO/yj
ファイルメーカーの使い方がわかりません どうやって勉強
したらいいでしょうか?
804NAME IS NULL:04/04/11 20:40 ID:???
>>803

本を読め
805NAME IS NULL:04/04/11 21:19 ID:i9uIO/yj
>>804
ありがとうございます おすすめの本教えてくださいっ!!
806NAME IS NULL:04/04/11 21:55 ID:???
807NAME IS NULL:04/04/11 22:06 ID:i9uIO/yj
>>806
感激です!!
ありがとうございます 
さっそく本屋にだっしゅします
ところでこれはまったくの初心者でも大丈夫ですか?
808NAME IS NULL:04/04/11 22:19 ID:???
>>807

本読むぐらいは初心者も上級者も関係ないよ
やる気の問題。
簡単な本だし。
809NAME IS NULL:04/04/11 22:26 ID:i9uIO/yj
>>808
わかりました
さっそく本屋に行って買い占めてきます
ありがとうございました!!
810NAME IS NULL:04/04/11 22:43 ID:???
oracleのHPから9iのトライアル版をダウンロードしてインストールしようとしたのですが

ライブラリ読み込み中にエラーが発生しました
areasQueries

ってエラーがでてインストールできません
何度ダウンロードしても同じエラーがでるのですが
解決方法ないでしょうか?
OSはWin2000です
811810:04/04/11 23:04 ID:SUGvCjqF
解決しました
板よごしてすいません
812NAME IS NULL:04/04/11 23:23 ID:???
>>811
何が原因で、どういう風に解決したのかぐらいは書いて欲しかったが。
もう見てないんだろうけどさ。
813NAME IS NULL:04/04/12 14:11 ID:ggaspxh/
システムDSNとファイルDSNの違いってなんでしょうか?
(´・ω・`)
814NAME IS NULL:04/04/13 00:46 ID:S0gAGL0g
ワードのデータを復旧させたいのですが、どうすればいいですか?
保存し忘れました。。。無知な私にアドバイスしてください
815NAME IS NULL:04/04/13 02:04 ID:???
816NAME IS NULL:04/04/13 07:56 ID:???
検索時のキーとして使われるフィールドでなくとも
インデックスを張ることでメモリ上に展開され高速にアクセスできると
どこかで聞いた記憶があるのですが,本当ですか?

以下のテーブルがあって,pointをsumする事が多い場合,
pointに対してもインデックスを張るのは有効でしょうか?
PK
id, name, age, point
817NAME IS NULL:04/04/13 08:55 ID:???
>>815
さんくす
818NAME IS NULL:04/04/13 10:09 ID:???
>>816
実装によって違う。以下はSybaseの話。
インデクス張ればcovering index扱いされ、
主テーブルが読まれない場合があるが、
件数が増えればけっきょくインデクスを
順次走査することになるワケで。

トリガ使って副テーブル作って集計しる!

ただし、ageで絞り込むような場合だと、
age,pointにインデクス張ればカバーされて
パフォーマンス向上に繋がる、かもしれん。

もちろん、インデクスのたくさんあるテーブルへの挿入/更新は
それなりのコストがかかることを忘れないよう。
これはどの実装に対してもいえることだと思われ。
819シスアド受験予定者:04/04/13 23:25 ID:CSRKtcoU
アクセス2002で試験のためにSQLやってみたのですけど
下の構文を打つと 構文エラー 演算子がありませんって怒られます
原因がさっぱりわかりません。知ってる人いたら教えてください。

SELECT 学籍番号,氏名,性別
 FROM 学籍表
 WHERE 性別 = '男'
820NAME IS NULL:04/04/13 23:45 ID:???
>>819 全角スペースが悪さしているみたい
821シスアド受験予定者:04/04/14 06:15 ID:/LYKX1R6
SELECT 820
FROM データベース初心者スレ

ありがとうございます。おかげさまで解決しました。
すごい嬉しいです。
822NAME IS NULL:04/04/17 02:30 ID:1TGxPw+3
今WindowsXP上でAccess2kMDBに最大10万件程度のデータを入れて簡単な検索
しかしないスタンドアロンシステムがあります。このDBを別のものに入れ替
えタイのですが、お勧めはなんでしょう?用件としては配布数が多いので、
インストールが簡単なのがいいです。やっぱMySQLですかね・・・。
すみませんが、助けてくだちい。
823NAME IS NULL:04/04/17 14:16 ID:xKQiPhao
MySQLなんですが、ナンバーやその代わりになるカラムのないテーブルで
新しく追加されたレコード順に表示することってできますか?
824NAME IS NULL:04/04/18 21:30 ID:???
>>818
ありがとうございました。
825NAME IS NULL:04/04/21 15:17 ID:???
>>822
配布が多いなら独自のファイルを使うってのはダメ?
まぁ更新とか入るならツライかもしれないけど。
826NAME IS NULL:04/04/24 11:09 ID:ooeVpwwi
EXCLEでボタンをつくり、
外部DBにストアド命令を投げたいと考えてます。

ボタンを押す前に、EXCELの特定セルに日付を入力しておき、
ボタンを押してストアド命令を飛ばす際に引数として日付をもっていってくれるよう
設定したいのですが、可能なのでしょうか。

アドバイスをお願いいたします。
827NAME IS NULL:04/04/24 19:38 ID:HDdy68i+
SQL文を教えてください。
MS Access 2000です。

以下のTABLE1, TABLE2のようなテーブルが2個あって
TABLE2のA,B,C,D,EのうちYの人のNAMEをTABLE1から検索
したいときはどうSQL書けばいいでしょうか。
この場合、結果はSATOU, SUZUKI, KATOU, MUTOUという結果がほしいのです。

「TABLE1」
ID | NAME
---------------
A | SATOU
B | SUZUKI
C | SAITOU
D | KATOU
E | MUTOU

「TABLE2」
NO | A | B | C | D | E |
------------------------
1 | Y | Y | N | Y | Y |

(TABLE1のIDがTABLE2のカラムになっています)
828NAME IS NULL:04/04/24 20:51 ID:???
A〜E以外に人が増えたらTABLE2のフィールド変更せなならんやん。
テーブル設計が駄目だよそれ。
TABLE1のレコードとTABLE2のフィールド名そのものを結びつけるってのも
普通は出来ない。っていうかやらないし。
ACCESSだとレコードとフィールド名結びつけるって反則技自体無理かも。

とりあえずTABLE2をno, id, resultみたいに変更すれば
 SELECT name
 FROM table1 as a, table2 as b
 WHERE a.id = b.id
 AND b.result='y'
でいけるでしょう。
829NAME IS NULL:04/04/24 20:57 ID:???
>>827
Access97で動作確認しました

SELECT TABLE1.ID, TABLE1.NAME
FROM TABLE1
WHERE (((TABLE1.ID) In (SELECT "A" as id from TABLE2 where A="Y"))) OR
(((TABLE1.ID) In (SELECT "B" as id from TABLE2 where B="Y"))) OR
(((TABLE1.ID) In (SELECT "C" as id from TABLE2 where C="Y"))) OR
(((TABLE1.ID) In (SELECT "D" as id from TABLE2 where D="Y"))) OR
(((TABLE1.ID) In (SELECT "E" as id from TABLE2 where E="Y")));

まあ強引にこんなふうにやる方法もあるんだけど、828さんの言うように
設計見直ししたほうがいいと思います。
830NAME IS NULL:04/04/24 21:08 ID:???
>>827
他の人に先に書かれてしまったけど、
せっかく書いたので別解として。

SELECT TABLE1.NAME
FROM TABLE1, TABLE2
WHERE TABLE1.ID = 'A' AND TABLE2.A = 'Y' AND TABLE2.NO = 1
UNION
SELECT TABLE1.NAME
FROM TABLE1, TABLE2
WHERE TABLE1.ID = 'B' AND TABLE2.B = 'Y' AND TABLE2.NO = 1
UNION
SELECT TABLE1.NAME
FROM TABLE1, TABLE2
WHERE TABLE1.ID = 'C' AND TABLE2.C = 'Y' AND TABLE2.NO = 1
UNION
SELECT TABLE1.NAME
FROM TABLE1, TABLE2
WHERE TABLE1.ID = 'D' AND TABLE2.D = 'Y' AND TABLE2.NO = 1
UNION
SELECT TABLE1.NAME
FROM TABLE1, TABLE2
WHERE TABLE1.ID = 'E' AND TABLE2.E = 'Y' AND TABLE2.NO = 1

何にせよTABLE2を

NO | ID | YN
-----------
1 | A | Y
1 | B | Y
1 | C | N
1 | D | Y
1 | E | Y
2 | A | Y
2 | B | N
...

こう変更できないか検討するべき。
831NAME IS NULL:04/04/24 21:51 ID:OUuEL0rQ
レコードって概念を意識する必要があるよね
832NAME IS NULL:04/04/24 22:02 ID:???
ここは健全なインターネットですね
833NAME IS NULL:04/04/25 01:57 ID:???
質問です。
Oracle、SQLServer、PostgreSQL、MySQLあたりのいろんなDBに接続できる対話型のクライアントってありますか?
834827:04/04/25 09:03 ID:???
>828,829,830 殿
テーブル設計を見直すべき・・・ですか。
830氏のテーブルを検討してみます。
ありがとございました。
835NAME IS NULL:04/04/25 13:00 ID:???
>>833
対話型ってどういう機能があればいいのか分からんけど、
WindowsでODBCドライバがあれば色んなDBに接続できるやつはある。
ttp://www.hi-ho.ne.jp/tsumiki/
836833:04/04/25 13:32 ID:???
>>835
まさにこういうのを求めてました。
ありがとうございました。
837NAME IS NULL:04/04/25 16:24 ID:???
はじめまして。
初心者です・・・お尋ねしたい事があります。
Accessスレでも質問したのですがレスがつかない為お願いします。

AccessでフィールドA(オートナンバー型)、フィールドB(テキスト型)。仮にここではAとBとおきます。
そしてフォームでテキストボックスにAの数字を打ち込むと自動的にそれに対応するBを表示させたいです。
それを同じフォーム上に20個程作ってそれぞれ独立させて、そのフォーム上ごと印刷したいです。

調べたのですがどうもわかりません。
どなたかお助けください。
838NAME IS NULL:04/04/25 19:48 ID:???
何が分からないのか分からないと何とも言えません。
839NAME IS NULL:04/04/25 20:37 ID:???
>838 すいません

AccessでフィールドA(オートナンバー型)、フィールドB(テキスト型)。仮にここではAとBとおきます。
そしてフォームでテキストボックスにAの数字を打ち込むと自動的にそれに対応するBを表示させたいです。
それを同じフォーム上に20個程作ってそれぞれ独立させて、そのフォーム上ごと印刷したいです。

の仕方がわかりません。
840NAME IS NULL:04/04/25 21:43 ID:???
とりあえずVBAの勉強して下さい
841NAME IS NULL:04/04/26 12:34 ID:???
>>837>>838で指摘されたにもかかわらず、
質問を見直していないところがワロタ

誰でも最初は初心者なんだから、
まず、相手に理解できる質問をできるようになれ。
話はそれからだ。
まさか、一から十まで詳細な手順を示した回答がもらえると
思って書いてるわけじゃないんだろう?
Accessスレでもレスが付かない原因はそこだぞ。

フィールドAでテーブルを検索して
フィールドBを取得して表示させればいいだけの話じゃないのか?
コードの書き方がわからんと言うのなら、
ここはスレ違いだからAccessスレにもう一回わかりやすい質問を
投げてみれ。
842NAME IS NULL:04/04/27 13:39 ID:???
各データベースソフトの良い点と悪い点を教えてください
843NAME IS NULL:04/04/28 00:28 ID:???
>>842
あんたはODBCでCSVにでも接続しててクダサイ。
844NAME IS NULL:04/05/09 23:46 ID:EsBng0xf
ローディングツールとはどのようなものでしょうか?
845NAME IS NULL:04/05/10 01:29 ID:???
>>844
ローディングするためのツールのことです。
846NAME IS NULL:04/05/10 15:25 ID:judraJqV
table1 table2
c1 c2 C1 C2
---------- -----------
AAA 12 A あ
ABA 34 A い
BBC 56 B う
BCD 78

という表から、Aが頭にあるものという条件で
c1' c2' c3'
-----------
AAA 12 あ,い
ABA 34 あ,い
を作りたいのですが、どういうSQLになるでしょうか。
847NAME IS NULL:04/05/10 17:40 ID:???
意味がわからん。
848NAME IS NULL:04/05/10 17:44 ID:???
「table1.c1の先頭1文字 = table2.C1」で結合できれば、

  AAA 12 あ
  AAA 12 い
  ABA 34 あ
  ABA 34 い
  BBC 56 あ
  BBC 56 い
  BCD 78 あ
  BCD 78 い

を得られるけど、
849NAME IS NULL:04/05/10 18:26 ID:H0x58A7S
すみません。質問です。

データベースの内容をアンロード掛けてバイナリ形式で抜き出す際、
任意のフィールドを指定してソートを掛けつつ抜き出す方法はありますか?

shellの中にSQL書き込んで、
selectで項目指定してorderbyでソート掛けて抽出した内容を、
バイナリに吐き出す、、なんて事は出来ないのでしょうか。


また、
特にオプションを指定しないで単純にアンロード(rdbunlコマンド)を発行すると
プライマリキーのフィールドでソートされた状態で抜き出される、、、って聞いたのですが
これはホントでしょうか?

ちなみに、使用しているDBはsymfowareです。
初歩的な質問で恐縮です。
識者の方、よろしくお願いします。
850NAME IS NULL:04/05/12 13:17 ID:???
1分ごとの平均なら、TIMEを先頭の5文字でグルーピングして
AVGかければ出せるだろうが、30秒ごとというのは出来るのだろうか?

出でよOracle神。
851NAME IS NULL:04/05/12 13:18 ID:???
766以降のログが見えてなかった。。。
852NAME IS NULL:04/05/12 23:31 ID:???
>>850
floor((t-to_date(to_char(t,'yyyy-mm-dd'),'yyyy-mm-dd'))*(86400/30))/(86400/30)
+to_date(to_char(t,'yyyy-mm-dd'),'yyyy-mm-dd')

t が date型だとして、上記の式で30秒毎の時間になる。
もっと簡単に出来る気もする。

floor(t) ってできなかったっけ?
853NAME IS NULL:04/05/13 20:14 ID:T0mETcHS
下記のようなテーブルhogeから
Bを1と2両方持っているAのデータを
抽出するSQLはどのような文になるのでしょうか?

ID | A | B
1 | 1 | 1
2 | 1 | 2
3 | 2 | 1
4 | 3 | 1
5 | 4 | 2
6 | 5 | 1

854NAME IS NULL:04/05/13 20:37 ID:???
>>853
思いつき
select distinct A from TABLE as T1
 where exists (select A from TABLE where A=T1.A and B=1)
 and exists (select A from TABLE where A=T1.A and B=2);
855NAME IS NULL:04/05/13 21:01 ID:6ngyQJ7V
【誰でもできる47氏支援運動!】
【以下の文章を、各種掲示板にコピペして47氏を救おう!】

すみません、貴サイトには直接は関係のない話題ですが、
広くネットに携わるものとして、いや、日本国民として、真剣に考えるべき事案であると考え、あえて宣伝させていただきます。
管理者様、もし、不適切とお感じならば、どうぞ削除なさってください。

先日、著作権違反の幇助との名目で、ファイル交換ソフトwinnyの製作者で、東京大学助手の金子勇氏(通称47氏)が逮捕されました。
しかし、winnyそれ自体は、違法なファイルの流通だけでなく、合法なファイルの流通も可能なものであり、著作権を違反するか否かは、ソフトの作成者ではなく、ソフトの使用者に、その責任がゆだねられるべき問題であります。
さきに、winnyを使用して、著作権違反で逮捕された二人のユーザーは、47氏と何らつながりのない人間であり、「幇助」の理由を付して逮捕するには、あまりにも無理があります。
以上の観点から、私たちは、Winny開発者、47氏に対する不当逮捕に強く抗議します!!
京都府警は、逮捕の理由として、「『著作権法への挑発的態度』が逮捕理由」に挙げたと、報道されています。この報道が真実であるとすれば、これは思想信条の自由の侵害であり、「思想犯」として不当逮捕したものと断ぜざるを得ません!!
これはもはや著作権の問題ではなく人権問題です!!皆様のご協力をお願いいたします。

詳しくは、下記ページをご覧下さい!
Winny開発者 47氏を救う為に
http://77483.org/47/
ネットワークの自由防衛同盟
http://www.netfreedom.tk/
プログラマ仲間の新井氏が設置したblog(47氏支援運動など)
http://www.moodindigo.org/blog/archives/cat_kaneko.html?page=%B6%E2%BB%D2%CD%A6%BB%E1%BB%D9%B1%E7

また、本運動に賛同される方、お知り合いの掲示板などに、本文章を掲示していただけると幸いです。
856NAME IS NULL:04/05/13 21:08 ID:T0mETcHS
>>854
ありがとうございました。
857NAME IS NULL:04/05/15 16:17 ID:???
下記のようなデータで、
value = 1 かつ、value が 100 と 101 を含まない key を
抽出したいのですが、どうすればいいでしょうか。
つまり、A だけ出てほしいのです。

key| value
---+------
A | 1
A | 2
A | 3
B | 1
B | 100
B | 101
858NAME IS NULL:04/05/15 17:12 ID:???
>>857
条件のところがチョト曖昧なんだが、
key| value
---+------
A | 1
A | 2
A | 3
B | 1
B | 100
B | 101
C | 1
C | 100
C | 102

Aのみ抽出する意味なら
SELECT DISTINCT key FROM table AS T1
 WHERE value=1 AND NOT EXISTS (SELECT * FROM table WHERE key=T1.key AND (value=100 OR value=101));

AとCを抽出する意味なら
SELECT DISTINCT key FROM table AS T1
 WHERE value=1 AND (NOT EXISTS (SELECT * FROM table WHERE key=T1.key AND value=100)
 OR NOT EXISTS (SELECT * FROM table WHERE key=T1.key AND value=101));
859NAME IS NULL:04/05/15 19:01 ID:???
>>857
ちょっと違った視点で

SELECT distinct key
FROM table
WHERE value = 1
INTERSECT
SELECT distinct key
FROM table
value in (101, 101)
group by key
having count(*) > 0
860857:04/05/15 21:17 ID:???
>>858-859
A と C を抽出です。うおー、ありがとうございました。
861NAME IS NULL:04/05/17 16:00 ID:???
データ検索で
SELECT * FROM テーブル名 WHERE 列名 like '%〜〜%'
の逆で
SELECT * FROM テーブル名 WHERE '〜〜' like %列名%

のような処理はできないでしょうか?
また擬似的に上記のような処理を行うようにはできないででしょうか?
どなたかご教授ください。
862NAME IS NULL:04/05/17 16:27 ID:???
>>861
PostgreSQLならシステムカタログから取れそうだけど、他のDBはわからん。
863NAME IS NULL:04/05/17 16:45 ID:???
>>861
お返事ありがとうございます。

使用DBはMYSQLです。
あぁ・・・・。
864NAME IS NULL:04/05/17 16:47 ID:???
>>863
んじゃ、MySQLスレで聞いてみれば?
ユーザテーブルを管理するシステムテーブルがあると思うのだけど。
865NAME IS NULL:04/05/17 17:14 ID:???
>>864
そちらに行ってみようと思います。
ありがとうございました。
866NAME IS NULL:04/05/18 20:32 ID:cfdk26bp
社員番号、月1という列があって、月1は一ヶ月の時間の合計をだします。
例えば社員番号001の人がその月に一日は3時間6日は6時間、8日は1時間で
系10時間仕事をしました。
また社員番号002の人は4日に2時間と28日に1時間の計3時間仕事をしました。
社員番号別に時間を合計してやりたいのですが、

各データが
社員番号 001 1日 3時間
社員番号 002 4日 2時間
社員番号 001 6日 6時間
社員番号 002 28日 1時間
社員番号 001 8日 1時間

で、各社員番号001の人なら001の人の1ヶ月の合計。002の人の1ヶ月の合計
をだしたいのですが、

select SUM(月1) FROM X

の後がどうやっていいのかわかりません。GROUP BYをかけたらいいのでしょうか?
それともdistinctをかけたらいいのでしょうか?現在2人分の社員番号しかないのですが
これが100人分だとどのようにまとめたらいいのかわかりません。よろしくお願いします。

867NAME IS NULL:04/05/18 22:18 ID:???
>>866
テーブル構造がいまいちわからん。
社員の労働時間を月別に集計と言うなら

社員番号 |   日付   | 労働時間
---------+----------+----------
  001    | 2004-05-01 | 03:00
  002    | 2004-05-04 | 02:00
  001    | 2004-05-06 | 06:00
  002    | 2004-05-28 | 01:00
  001    | 2004-05-08 | 01:00

日付はdate型
労働時間はinterval型

2004年5月の社員別労働時間集計
SELECT 社員番号,sum(労働時間) FROM table WHERE to_char(日付,'YYYYMM')='200405' GROUP BY 社員番号;
868NAME IS NULL:04/05/18 22:51 ID:cfdk26bp
>>867 ありがとうございます。労働時間がデート型じゃなくて整数型なんです。日付も
200405という具合に日付型ではなく、整数型でもっているんです。
当方visual basicでやっているのですが、

tableで日付が20040501みたいに2004年5月1日という
ふうに持っていて、検索するキーがテキストボックスから
入力する値、200405というふうに入力してこれで5月分を
各社員番号別に集計しなさいということなんですけど、
この場合

select 社員番号,sum(労働時間) from table Group by 社員番号;
でよいのでしょうか?ただtableの日付で持っている20040510と
検索条件である200405ではwhere で持って来れないのでしょうか?
よろしくお願いします。
869NAME IS NULL:04/05/18 22:52 ID:???
仕様が糞
870NAME IS NULL:04/05/18 23:09 ID:???
>>868
整数型かよ。労働時間が2時間30分なんていう分単位は考慮しないんだなw
SELECT 社員番号,sum(労働時間) FROM table WHERE 日付 BETWEEN 20040501 AND 20040531 GROUP BY 社員番号;
WHERE句のところは、WHERE 日付 BETWEEN 20040500 AND 20040599 なんてしても別に問題ないと思う。
871NAME IS NULL:04/05/18 23:14 ID:3jivAh2u
カラムが5つぐらいあって
カラム1とカラム2に主キーがありカラム1カラム2はint型の数値のとき
カラム1の検索したい値はわかってその中でもカラム2が最大値のものを
検索するにはどうしたらいいのでしょう?

select * from table where カラム1 = わかっている値
and カラム2 = サブクエリーとかしかないのかなぁ・・・

select * from table where カラム1の結果を元にその中でもカラム2
の最大値の行を返すとかってできないかな?
872NAME IS NULL:04/05/18 23:27 ID:???
>>871
SELECT max(カラム2) FROM table WHERE カラム1=わかっている値;
じゃなくて、きっと最大値の行全て知りたいんだろうな。
SELECT * FROM table WHERE カラム1=わかっている値 AND カラム2=(SELECT max(カラム2) FROM table WHERE カラム1=わかっている値);
でもいいが、

SELECT * FROM table WHERE カラム1=わかっている値 ORDER BY カラム2 DESC;
で1行目だけ取得汁。
873NAME IS NULL:04/05/18 23:42 ID:3jivAh2u
1行目だけの取得がわからないっす・・・

結果の何行目だけ返すとかってできるもんなんですか?
874NAME IS NULL:04/05/18 23:43 ID:xg/uGZf5
データベースって難しいと思う。
できる人は本当に頭いいと思う。
875NAME IS NULL:04/05/18 23:46 ID:???
>>873
PostgreSQLやMySQLならLimitがある。
他は触ったことないけど、同様の述語がありそうだ。

で、SQL-92的にするならCURSORを使う。
使い方はお使いのRDBMのマニュアル嫁。
876NAME IS NULL:04/05/18 23:48 ID:???
>>873
製品による
877NAME IS NULL:04/05/19 00:17 ID:Mo8g2hEE
sql serverだとカーソル使うのはわかったが
取り出した行をクエリの結果みたいに返す方法がわかりません。

わからいなことばかりで申し訳ありませんが
御教授願います
878NAME IS NULL:04/05/19 00:21 ID:???
>>877
マニュアル無いんかよ。
FETCH IN カーソル名;
でいけると思うが。
879NAME IS NULL:04/05/19 02:16 ID:???
すいません、SQL質疑応答スレにも書いたんですが、こっちの方が人が居るみたいなんで…
マルチですいません。
oracle9iで1つのカラムに入っているレコードを全て1行で取得したいのですが。
例えば、

id
----
1
2
3


id
----
1,2,3
の様にSQLのみで1行で取得するにはどうすればいいでしょうか?
レコードの数は不定です。
よろしくお願いします。
880NAME IS NULL:04/05/19 02:23 ID:???
>>879
マルチ
881NAME IS NULL:04/05/19 02:23 ID:???
>>879
SQL質疑応答スレでも見たがOracle使っていないのでスルーした。
SQLのみだと多分無理。
882NAME IS NULL:04/05/20 21:14 ID:MDqr7Awj
テーブルXから10行、10列からできた値を取り出して、
他のテーブルYに取ってきた値を加算してやりたいのですが、

TABLE X
A|B|C|D|E|F|G|H|I|J
---------------------
1|2|3|4|5|6|7|8|9|10
1|2|3|4|5|6|7|8|9|10
1|2|3|4|5|6|7|8|9|10
....................
1|2|3|4|5|6|7|8|9|10

TABLE Y
A|B|C|D|E|F|G|H|I|J
---------------------
1|2|3|4|5|6|7|8|9|10
1|2|3|4|5|6|7|8|9|10
1|2|3|4|5|6|7|8|9|10
....................
1|2|3|4|5|6|7|8|9|10

下のようなテーブルYを作りたいんですが、

A|B|C|D|E|F|G|H|I|J
---------------------
2|4|6|8|10|12|14|16|18|20
2|4|6|8|10|12|14|16|18|20
2|4|6|8|10|12|14|16|18|20
....................
2|4|6|8|10|12|14|16|18|20

このようなDo Until EOF LOOPというのを
使ってSQLをつくらないといけないのですが
どうやって加算してSQL文をつくってやればいいのか
わかりません。ご教授お願いします。
883NAME IS NULL:04/05/20 22:40 ID:???
>>882
主キーが無いどころか、行を見分けることもできへんがな。
884初心者です。:04/05/21 00:18 ID:gInREXze
linuxで、データベースを学びたいです。
どのようにすれば良いか教えていただければ教えてください。
お願いします。
885NAME IS NULL:04/05/21 00:52 ID:???
2chなんかうろついてないで、本でも買いなさい。
886NAME IS NULL:04/05/21 02:14 ID:???
>>882
エクセルの串刺しで十分。
887NAME IS NULL:04/05/21 07:57 ID:???
table(id serial, in text, out text)
inはmd5hash文字列、outは普通の文字列
つまり
1, aaa, xxx
2, aaa, yyy
3, bbb, xxx
4, ccc, zzz
などというテーブルを作ったのですが、selectすると結果が返ってくるまでに
かなり時間がかかってしまいます。(1分ほど?)
データは100万行単位で、だいたい500万行ほどだと思います。
Debian woodyとPostgreSQL1.42で作っています。
テーブルの構成など、どこかおかしい点があるでしょうか?
リアルタイムで結果が返ってきて欲しいのですが、こんなに時間がかかるものなのでしょうか?
どうかよろしくお願いします。
888NAME IS NULL:04/05/21 08:51 ID:???
>>887
主キーやインデックスの設定は?取得件数は?
全件を取得するならそれなりにかかるだろう。
889NAME IS NULL:04/05/21 10:27 ID:???
>>888
ええっと、主キーは一個目の要素のidで、取得件数は上限無しです。
ただしselectの条件は、where in = aaaみたいに、一つに固定です。
aaaとbbb両方とかは無いです。
インデックスの設定ってのはどういう事でしょうか…。
890NAME IS NULL:04/05/21 11:03 ID:???
ちょっと質問した事後になっちゃうんですが、調べてきました。
CREATE INDEX tableindex
    ON table(in);
としてインデックスを作っておくと、inを条件として検索するときに高速になる
という解釈であってるのでしょうか?
けど、調べてみると、頻繁にデータの挿入がある場合はインデックスの更新の方に
時間を取られるから、インデックスを使わない方が良いとありました。
かなり頻繁にデータの挿入があるのですが、そこのところどうでしょうか…。
891NAME IS NULL:04/05/21 15:50 ID:???
現在の更新速度に不満が無いなら、とりあえずインデックス貼ってみて
実用に耐えられないほど、パフォーマンスが落ちるようならあきらめたら?
あとは、idで検索できるようにがんがる。

でも、PostgreSQLって、インデックスが糞って聞いたけど本当なのかな。
892NAME IS NULL:04/05/21 16:28 ID:???
>>891
とりあえずinのindexを作ってはみたんですが…。
なんというか、早い時は早いんですが、作ってない時と差がないほど遅い時もありますね。

>あとは、idで検索できるようにがんがる。
これは例えばどういう方法でしょうか?
idはただの番号で、inの中身とは何の関連性も無いのですが…。
893 ◆sybase.d.c :04/05/21 19:21 ID:???
>>892
7.2の頃まではインデクスの使い方が下手
(ちうか評価関数がいいかげんだった?)だが、
最近はいい感じだぞ、と、Postgresスレで読んだ。

最近鬱で読んでないので、pgスレ読まずにカキコ
894NAME IS NULL:04/05/21 19:32 ID:???
>>892
VACUUM ANALYZE; したのか?
895NAME IS NULL:04/05/21 21:06 ID:???
>>894
やってないです…。
vacuumdb --analyze dbname
ですよね?
896NAME IS NULL:04/05/21 21:17 ID:???
>>895
それでもいいし、>>894で示した文をSQLとして発行すればよい。
897NAME IS NULL:04/05/21 21:28 ID:???
で、vacuum analyzeして来たのですが…。
多少早くなったかな〜?って程度で、やはり遅い時には結果が返ってくるまで
1分くらいかかります。
pg_dumpしても100M程度のさほど大きくないDBなんだけどなぁ…。
こんなもんなんでしょうか。
他のもっと大規模なDBとかどうするだろう…。
898NAME IS NULL:04/05/21 22:22 ID:???
>>897
ってことは、text inは重複が多くてIndex Scanされてないんだろ。
EXPLAIN して確認しる。
899NAME IS NULL:04/05/21 22:58 ID:???
exeplain analize selece を適当な条件で何度かやってみました。

Seq Scan on table (cost=0.00..47667.09 rows=13682 width=34)
(actual time=2716.98..62269.67 rows=18703 loops=1)
Total runtime: 62738.51 msec
Seq Scan on table (cost=0.00..47667.09 rows=13682 width=34)
(actual time=3039.36..61721.74 rows=18703 loops=1)
Total runtime: 62142.23 msec
Index Scan using tableindex on table (cost=0.00..23.40 rows=5 width=34)
(actual time=62.77..62.77 rows=0 loops=1)
Total runtime: 99.44 msec
Index Scan using tableindex on table (cost=0.00..23.40 rows=5 width=34)
(actual time=52.05..52.06 rows=1 loops=1)
Total runtime: 52.67 msec
Seq Scan on table (cost=0.00..47667.09 rows=137412 width=34)
(actual time=3103.91..61569.79 rows=148918 loops=1)
Total runtime: 62922.27 msec

Index ScanじゃなくてSeq Scanてなってるのはインデックスを使わずに実表を
直接探してるって事ですよね、多分。
で、その時に時間が滅茶苦茶かかって、ヒットした行も桁違いですね。
898さんの仰った通りのようです。
これはどうやって解決すれば良いんでしょうか?
in-outが1対n関係なのはどうしようもないし、データを減らすわけにも行かないし…。
900NAME IS NULL:04/05/21 23:25 ID:???
>>899
の前に
数万行から十数万行を抽出して、その後どうするんだ?
901NAME IS NULL:04/05/21 23:29 ID:???
>>900
ランダムで一行選ぶだけ…。
なので上限をつけても良いし、一番良いのはなんらかの評価関数を使って
一行選べればいいのですけど。
けど上限を例えば10にしたとして、返される結果はいつも同じデータにはならないのでしょうか?
その10個のデータ以外のデータがいつも選外になって無駄になると言うか。
902NAME IS NULL:04/05/22 00:21 ID:???
>>901
そりゃまた...
1発でって案がうかばねぇな。
事前にゴニョゴニョして、ナニならごにょごにょ、なになら後如後如...
しかし更新頻度を考えるとごにょゴニョもあてにならねぇし。
903NAME IS NULL:04/05/23 01:26 ID:???
おまいら、よろしくお願いいたします。

postgresql7.3を使っています。、yyyy/mm/dd hh:mm:ssというフォーマットで日付が格納されているレコードから
hh:mmだけを抜き取りたい場合はどうすればよろしいでしょうか。
904NAME IS NULL:04/05/23 01:37 ID:???
>>903
timestamp形式で格納されているのか、string型で格納されているのか、どっちよ。

前者なら to_char(timestampカラム ,'HH24:MI')
後者でもそのままtimestamp型に変換できそうだから、
to_char(stringカラム::timestamp,'HH24:MI')
でいけるだろ。
905NAME IS NULL:04/05/23 01:38 ID:???
timestampす。どうもありがとう
906もっと初心者用の質問板は?:04/05/27 03:27 ID:4G2IqA87
高1のPC初心者です。たぶん小学生レベルです。どこで聞けばいいのかわからないので教えて下さい。
A5とかB6のカードに一枚あたり200字程度の文字を書いたのをたぶん数千枚ぐらい書き溜めていくんですが、あとで書き足したり修正したりし易いようにと思って手書きをあきらめてPCを使うことにしました。
その数千枚を作って整理して管理していきたいんですけど、作った情報はたとえば次のような感じです(ツリー状)。
一.・・・
 1.・・・
  @・・・
  A・・・
 2.・・・
  @・・・
  A・・・
  B・・・
 3.・・・
二.・・・
 1.・・・
  @・・・
  A・・・
  B・・・
  C・・・
 2.・・・
  @・・・
  A・・・

データベースとかいう言葉を見たり聞いたりすることがあるんですけ、こういうなのをそう呼ぶんですか?全然ちがうのかなぁ?(汗)
こういう何千枚ものカード(単なる文章)を作って管理するのって、そもそもPCのどこでするんですか?フォルダとかいう言葉も聞いたことありますが、ワードでやっていくんですか?ワードの中のどこでやっていくんですか?
907NAME IS NULL:04/05/27 08:42 ID:???
>>906
立派なデータベース。

個人で管理するならAccessかExcel。
908906:04/05/27 09:12 ID:1qJEJa+z
>>907
ありがとうございます。
そうなんですか? マイドキュメントとかなんとかに、って人に教えられたような・・・。
それってワードじゃなかったんですか〜。。。

Accecc? Excel?
すいません、初歩的なことを全然知らないので。
909 ◆sybase.d.c :04/05/27 11:17 ID:???
>>908
Accessはキミにちと荷が重いような気がするし
安いものでもないので、

その手の情報を管理する「データベースソフト」はないかどうか、
他の板で尋ねてこい。もしかするとこの板他スレにその手の
話題があるかも知れんが知らん。
で、バイトするなり親にねだるなりして買ってもらうといいだろう。
そういう用途には、マトモな親は喜んで出資してくれるはずだ。

ちなみに俺は本職なのでむしろパーソナルユースには詳しくない。

で、DBでいろいろできるんだなと感じたら、またこのスレに遊びに来い。


…ていうか、その手の作業は、Microsoft Wordの
「アウトライン」モードを使えば容易なような希ガス
910NAME IS NULL:04/05/27 11:26 ID:???
>>908
っ[ http://www.junlab.com/tips.html ]
っ[ http://pc5.2ch.net/test/read.cgi/pcqa/1085559202/ ]

キーワード語群
・Microsoft Word
・Microsoft Access
・Microsoft Excel
・Microsoft office
・データベース

このヒントで判らなかったら今の君には無理。
911NAME IS NULL:04/05/27 12:15 ID:???
>>906
とりあえず学校にいる情報の先生と相談してみなさい。
情報の先生にやりたいことを説明したら、君にあったアドバイスが貰えるかも。

個人的には、「カード型データベース」を使うのがいいと思うんだけど。
ただ、ちょっと板違いかもね。
http://search.vector.co.jp/search?query=%83J%81%5B%83h%8C%5E%83f%81%5B%83%5E%83x%81%5B%83X
912907:04/05/27 12:50 ID:???
>>908
フォルダをカテゴリ別に分けてファイルごとに管理したいんなら
それでも構わんよ。

自分のわかりやすいように管理したらいい。

漏れがさっき言ったのは、
君の持ってる数千枚のカードを、一つのファイルで管理する方法。
913NAME IS NULL:04/05/27 14:45 ID:???
昔のWindowsにはcardfileってのがついてたなあ。
あれ、いつから無くなったんだろう。
914NAME IS NULL:04/05/27 18:38 ID:???
アウトラインプロセッサ使えば?
915NAME IS NULL:04/05/28 05:29 ID:xjrgd4AW
Oracle や Microsoft SQL Server をウェブアプリケーションの
バックグラウンドで使用する場合 どのライセンスの物を
買うのがお得なのでしょうか?

1プロセッサ などプロセッサ数でのライセンスはわかりやすいのですが
クライアント数でのライセンスがよくわかりません
例えば5クライアントと10クライアントの場合だと具体的にどのような
違いがあるのでしょうか?
必要なクライアントの数え方がよくわからなくて困っています

宜しくお願い致します
916NAME IS NULL:04/05/28 05:46 ID:???
NATURAL JOIN句に関して質問します。
某教科書には、
「両方の表で同じ名前とデータ型を持つ列に関してのみ結合が行われる。」
と書かれているのですが、
実際に試してみたところ、
同じ名前でデータ型の異なる列でも結合されて実行されるのですが、
どうなんでしょうか?宜しくお願いします。
917NAME IS NULL:04/05/28 09:16 ID:S3LYW/Qg
メールフォームには写真が添付出来ないので、
フォームのHTMLソースを調べてアドレスを探そうと思ったのですが、
HTMLの中にメールアドレスらしきものがありませんでした・・・。
どうやったらフォームから相手のメール(受信)アドレスを知ることが出来ますか?
918NAME IS NULL:04/05/28 09:19 ID:???
>915
Q. SQL Server 2000 には Internet Connector ライセンスはありますか?
また、インターネット環境で不特定多数のユーザー向けのサービスを提供するような場合、
どのようなライセンスが用意されていますか?

A. SQL Server 2000 をインターネット環境で使用し、不特定多数のユーザーからアクセスを
受ける場合、プロセッサ ライセンスを使用してください。 プロセッサ ライセンスは、Enterprise
Edition、Standard Edition で提供されており、インターネット/イントラネットを問わず無制限の
アクセスが許諾されます。 ただし、プロセッサ ライセンスは、SQL Server が稼動するサーバーに
搭載されるプロセッサ数分購入する必要があります。

ttp://www.microsoft.com/japan/sql/evaluation/license/license_qanda.asp
919NAME IS NULL:04/05/28 13:23 ID:???
>>917
?
920916:04/05/28 14:34 ID:???
自己解決しました。バージョンによって違うようです。
921NAME IS NULL:04/05/28 23:26 ID:b02UD6X2
異なる親テーブルを持つ子テーブルって作成することができないんですか?

たとえば親テーブルを table1 table2 子テーブルを table3 とすると

table1 table2    table3
A B C D E A C
------ ------- ----------
0 あ 0 か 0 0 0
1   い  1    き   1 1 1
2 う 2   く 2 2 2

こんな構造にしてアプリ側で必要に応じて、親子関係の作成をしたいのです。
実際にやってみると table3 のA Cに適切なデータ型と値を割り振ってるのに
外部キーの制約違反だとエラーがかえります。
また最初の1行のみ(つまり行がないとき)まともに動くので
(select update insert deleatがちゃんと使える)、
不可能ではないようなのですが?
回答よろしくお願いします。.mdbです。
922NAME IS NULL:04/05/28 23:29 ID:b02UD6X2
>>>921

table1

A B
--------
0 あ
1  い
2 う

table2
c d
-------
0 か
1 き
2  く

table3

E A C
--------
0 0 0
1 1 1
2 2 2

ですすみません
923NAME IS NULL:04/05/29 06:22 ID:rioq5SCg
count関数について質問なのですが、列RETUに
各フィールドA A B B C C D D E E F F F G G G G
というデータが入っていたとして、この時countを行うと、16
というふうにカウントされてしまうのですが、
これをAなら2 Bなら2 Fなら3というふうに、各項目ごとに
カウントしたいのですがどうすればいいでしょう?グループ化を
するのですか?

924NAME IS NULL:04/05/29 06:27 ID:???
>>921
できるよ。

>>923
SELECT retu,count(retu) FROM table GROUP BY retu;
925915:04/05/30 05:17 ID:???
>>918 さん

ありがとうございます. 参考になりました.
返信遅くなってしまってすみません.
926NAME IS NULL:04/05/31 09:49 ID:???
>>917
スレ違いだが…。

そのメールフォームからcgi等を呼び出してメールを送ってるはず。
従ってhtmlからaddressを取得するのは不可能。

大人しくメールフォームでaddressを聞くのが正しいかと。
927NAME IS NULL
SQLServer2000を使用しています。

「警告:NULL値は集計またはその他のSET演算で削除されました」ってエラー
が出力されたのですが、原因がわかる方、教えていただけないでしょうか?

また、T-SQLのエラーメッセージがわかるHPがあれば教えていただきたいので
すが・・・