1 :
名無しさん@お腹いっぱい。 :
03/06/30 20:25 ID:d2aNQLC8 データベースって何?
2get
3 :
名無しさん@お腹いっぱい。 :03/06/30 20:32 ID:n17aZNjY
select * from
4 :
名無しさん@お腹いっぱい。 :03/06/30 20:55 ID:nnhcceO5
板違いです。
nnnn n
あぼーん
あぼーん
あぼーん
11 :
名無しさん@お腹いっぱい。 :03/07/14 14:36 ID:0xA1rEeF
postgresにCSV形式のファイルからテーブルつくるには? ちなみに、vainLinux postgresね。
あぼーん
13 :
名無しさん@お腹いっぱい。 :03/07/14 14:41 ID:0xA1rEeF
postgresにCSV形式のファイルからテーブルに データをインサートする方法教えてよ。 ディストリはvainLinuxなんで。
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
23 :
山崎 渉 :03/07/15 11:15 ID:???
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
24 :
名無しさん@お腹いっぱい。 :03/07/23 19:52 ID:HSCTJ/7Q
正味な話、 正規化ってなに? 概説を知りたい。
検索サイトで データベース 正規化 のキーワードで概説を勉強してみて下さい。 Y風 で データベース 正規化で検索した結果 約5480件のページが見つかりました。 だそうです。
あぼーん
27 :
名無しさん@お腹いっぱい。 :03/07/28 22:55 ID:JG3prhcz
いいのがあってAccessのMDBをそのまま焼こうと思うのですが、 Keyがちゃんと立っているかどうか確認の方法がわかりません。 クレームとか怖いしどうすれば・・・、教せえて。
省略しすぎ
∧_∧ ∧_∧ ピュ.ー ( ・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サーバーを立ち上げなきゃだめですよね? ほんとに基本的なこともわからないのでよろしくお願いします
あぼーん
34 :
名無しさん@お腹いっぱい。 :03/08/17 10:48 ID:rHDLwAcm
>>32 初期化ファイルとか設定してる?
インストールしただけでは、データベースは出来てないと思うが。
インスタンスをNOMOUNTで起動できる状態なの?
35 :
Oracle 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
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にも同じカラム名をつけたいんですが。 誰かおせーて。
USERIDと知ったかぶってみるてst
43 :
41 :03/08/18 00:18 ID:VydC1Gzt
>>43 お手伝いできてよかった・・・
自信なかったから知ったかぶってみたんだが・・・
45 :
31 :03/08/18 02:56 ID:q0oMmHVU
>>36 >>37 レスありがとうございます。
やはりメモリ2Gはあまり意味が無いようですね。
もう少し先輩と議論してみます。
46 :
名無しさん@お腹いっぱい。 :03/08/18 08:37 ID:NLPMxvwk
EXISTS これなんて読むんですか?
あぼーん
>45 データの「件数」ってあんまり関係ない。データの「容量」を気にするべき。 MDBファイル自体のサイズ上限が2GB。 メモリが2G必要なシステムなら、そもそもAccessの範疇を超えてると思ー。
あぼーん
クエリーという用語の正確な定義を教えてください。 Accessでは、ビューという用語の代わりに使われているようなのですが。
51 :
50 :03/08/20 15:09 ID:???
追加です。 クエリーというのは、create viewやselectを使用した データベースに対する問い合わせのみを指すのか、 それとも、insert、deleteなどの データベースに対する操作一般まで含めて考えるのか、 どちらが正しいのでしょうか?
>Accessでは、ビューという用語の代わりに使われているよう これはちと間違い。 Accessのクエリオブジェクトにも選択/テーブル作成/追加/削除といった各パターンがある。 っちゅう事で >データベースに対する操作一般まで含めて が正解。 ただ、Accessで「クエリ」って言葉を使う時はそれが 「データベースに対する操作一般を表す意味でのクエリ」なのか、「Accessが保持するクエリ オブジェクトという意味でのクエリ」なのかという事を注意する必要があるかも。
53 :
名無しさん@お腹いっぱい。 :03/08/21 16:02 ID:XvsF1RwG
NULL値とAND,OR,NOTの関係説明でTRUE,UNKNOWN(NULL),FALSEが出てくるけど FALSEって何?
>>53 偽ってことじゃない?
TRUEの反対。
WHEREで条件指定するときに 1=1なら検索されるが(TRUEだから)
1=2だとFALSEとなり検索されない(0件)ということ。
条件が真か偽か、ということ。
55 :
名無しさん@お腹いっぱい。 :03/08/22 13:26 ID:BsblLtaf
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
59 :
名無しさん@お腹いっぱい。 :03/08/22 17:09 ID:W5pQnNH+
>>58 応用の話ではなくDBMSが具体的にどうやって防止するのか知りたいのです。
>>57 常に全てのユーザーが更新する順序を決めておけば
デッドロックになる可能性を大幅に減らせる
61 :
57 :03/08/22 17:19 ID:W5pQnNH+
>>60 なるほど。
ありがとうございます。
さらにもう一つ方法を挙げるとしたらどういった方法になるのでしょうか。
あぼーん
>>61 残念ながらそこまでは・・
どちらにしろRDBMSならデッドロックになっても
どちらかのトランザクションがロールバックされるから
気にする必要もないとは思うけど。
64 :
57 :03/08/22 17:32 ID:W5pQnNH+
65 :
名無しさん@お腹いっぱい。 :03/08/22 17:35 ID:E2DX22T8
66 :
◆tRrWrTO72I :03/08/22 17:35 ID:GAchUAzf
プ
67 :
ntaomr006081.aomr.nt.adsl.ppp.infoweb.ne.jp :03/08/22 17:35 ID:GAchUAzf
アニヲタ終わってるなw
あぁ、もしかしたらだけど ロックを明示的にすればいくらか減るんじゃないかな? 行レベルでロックかかるだけだと(オラクルの場合) その次の更新でデッドロックになる可能性があるけど ロックを明示的にして範囲を広げれば防げるかも・・ それには自分が行うトランザクションを理解したうえで初めに作業する範囲をロックしないと いけないんだろうけど。つっても推測にすぎないが(汗 間違ってたらごめん。
69 :
57 :03/08/22 17:39 ID:???
70 :
名無しさん@お腹いっぱい。 :03/08/28 20:15 ID:r2LJ7j3d
再起処理って何? やっちゃダメなの? ダメだとしたらなんで?
あぼーん
72 :
名無しさん@お腹いっぱい。 :03/08/28 22:45 ID:XW1ms4/6
73 :
:03/08/29 00:26 ID:lPIg/z4B
74 :
名無しさん@お腹いっぱい。 :03/08/29 01:04 ID:XlHxFaZd
75 :
名無しさん@お腹いっぱい。 :03/08/30 03:29 ID:T8/mhSrs
具体的にどんなデータがデータベースなの?
76 :
名無しさん@お腹いっぱい。 :03/08/30 05:54 ID:R83zjMCW
77 :
PostgreSQL :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 を手動で調べたときより、時間がかかってしまいます。 これは何故なんでしょうか?もっと効率の良いやり方は無いものでしょうか? よろしくお願いします。
普通はWhereとIN使うんでないか?
普通のJOIN でいいかと SELECT item.item_id,item.item_name,item.cost FROM item,list WHERE item.item_id = list.item_id とか さらに、VIEW 作るといいかもね
80 :
PostgreSQL :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 と同じような気がしますし。
ん?最終的にどういう出力が欲しいの?
わかりにくくてすいません。 list:商品リスト item_id foo bar --------------------- 0000001 ふー ばー item:商品データ item_name item_id --------------------- 商品1 00000001 のテーブルから、下記のようなテーブルを作成したいのです。 item_name foo bar --------------------- 商品 ふー ばー
すみません、 最後のテーブルのデータの「商品」は「商品1」の間違いです。
>>79 の
item.item_id,item.item_name,item.cost
を、
item.item_name,list.foo,list.bar
にかえるだけじゃだめなの?
それだと、from句にitemしか定義されていないため、 listの集合が見つからず、正常に表示されません。 結局、listの集合を再び CROSS JOIN して、表示させるしかないのですかねぇ。
? list入ってるよ? これはLEFT JOINだけどね
携帯から書いたんでミス
>>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
こうか
INDEXは張ってるのか?
ちょっと書いてて支離滅裂になってしまいました。 ごめんなさい。 書く文字数が限られているため、単純に書きすぎました。 どちらのテーブルも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 (上記の構文); てな形になるのでしょうか? ちなみに、キーやユニークでインデックスは作ってます。
置き換える必要っつ〜か、それが一般的なRDBじゃないのかね オレなら通常のCROSS JOINのSELECTを元にVIEWをつくり そのVIEWで使う検索キーを調べてチューニングするかな LEFT JOIN(OUTER JOIN)は全item分の行を出すから用途が違いそう
ふむふむ、じゃぁこんな感じですかね。
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 値段もかなり違うので性能が違うのだと思いますが、 ソフトを選択する時どんな用途別に分けて考えれば よいのでしょうか?
PCで個人データ管理 -> MS Access 会社でデータ管理 -> Oracle 住基ネットで個人データ管理 -> SQL Server その他 -> PostgreSQL,MySQL
94 :
データ :03/09/03 16:04 ID:wVpKLXEA
Accessで、SQLを入力する時に、 半角、全角やスペースのある無しで、 クエリが作成されたり、されなかったりします。 SQLを入力する時の正しい入力方法が 分かり易い形で(入力時の写真付き) 解説されている 教本や参考書、サイトはありませんか あれば教えてください。
95 :
s :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するとエラーが出る場合があるんです。
>98 複数クライアントからの同時アクセスが考慮されているDBMSを使う。 つか使ってるDB、バージョン、どんなソースを実行したらどんなエラーが 出るのかという最低限の情報も無く答えられるかハゲ
100 :
98 :03/09/04 22:19 ID:ig8+DCFO
ゴメン。Jetです。
>>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 =' の 構文エラー : 演算子がありません。
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 あいうえお
というものなのですが、どの様にすれば期待通りに取得できるの?
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 "" を取得する方法ねー?
BBで""は無理では もしかして空文字でなくてNULLのことか? もしそうなら、 IS NULL
110 :
108 :03/09/06 16:16 ID:zjngnvFF
ちょっと違います。 @該当の値があれば、その項目を取得 A該当の値がなくて、NULLのデータがあれが、その項目を取得 B該当の値がなくて、NULLのデータがないなら、データなし これを一回のSELECTでしたい 無理ですかね?
OR 使えばいいと思うが
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
>>112 Dateの型は?
EXTRACTで抽出するか、SUBSTRで切り出せばできる
>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
>>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 これでどう?
>>118 それだと何も持ってない人が抽出されないし、
「調べたい物」を持ってるけどそれ以外の物を持っている人も抽出されちゃわない?
120 :
115 :03/09/08 01:58 ID:???
>>117 ありがとうございます。MINUSよりずっと良さそうです。
>>118 私も最初にそれを書きました。。
121 :
名無しさん@お腹いっぱい。 :03/09/08 15:16 ID:vgdn11Fm
ローカルではデータベースからの読み込み、 書き込み、更新が問題なく行えるのですが web上だと読み込みしかできず、書き込み、 更新が出来ません。 もしよろしければ考えられる問題点を 挙げていただけるとうれしいのですが。
WEBサーバを動作させているユーザにINSERT,UPDATE権限が無いに一票
>>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のフォルダを上書きしちゃったのかもしれない・・・
125 :
124 :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
>>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文になるのでしょうか?
131 :
130 :03/09/10 16:27 ID:???
>>130 わかりました。union 使えばいいのですね。。
select * from foo union select * from bar order by point;
idはどこにでてくるんだ?
133 :
130 :03/09/10 16:39 ID:???
>>132 Postgres の場合、id は foo_id に出てきました。
ところでさらに質問なのですが、この結果で foo と bar を
区別することはできるでしょうか?
あぼーん
>>133 すまんが、何がやりたいかがわからない
id と同じ値をfoo_id,bar_id に持つものの一覧かな
136 :
130 :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;
ですね。。で、これで結果は返ってくるのですが、返ってきた結果を区別したいのです。。
select 'foo',* from foo where foo_id = '$id' union select 'bar',* from bar where bar_id = '$id' order by point; とかはどう? あとorder by がどっちにかかるか確認して場合によっては括弧いれたほうがいいかも
138 :
130 :03/09/10 17:28 ID:???
>>137 すばらしいです!期待通りの動作しました。
?colum?で値を受け取れるんですね。ありがとうございました。
>>138 ああ、?column? じゃまずいだろうから、ASで名前付けるといいかも
SELECT 'foo' AS name,* ・・・ とかね
140 :
名無しさん@お腹いっぱい。 :03/09/12 11:01 ID:tpO5dmkS
Oracle9i がインストールされているマシンに Oralce HTTP Server が動いている。 IISをいれてもいいでしょうか? FTPサーバーを立てないのですが。。。
いいよ。アドレス1つならポート番号ぶつからないように設定な
ってFTPサーバーをたてない、んじゃなくてFTPサーバだけ たてたいのか?どっちにしてもインストールしていいよ、オレが許す
143 :
名無しさん@お腹いっぱい。 :03/09/13 17:15 ID:xALQz9uW
144 :
名無しさん@お腹いっぱい。 :03/09/14 10:38 ID:ZDu0UFum
mod_phpを使っているレンタルサーバのMySQLで、 パスワードを同じサーバの利用者から見られることなく、自分だけ安全に DBにアクセスする方法はありますか?
>>144 DBというよりphpの質問ですね。そちらで聞いたほうがいいかも
なんか無理な気がするなあ
146 :
名無しさん@お腹いっぱい。 :03/09/16 20:45 ID:25lzWgkC
本当に初心者デ申し訳ありません。 サーバーにデーターが入ってそれを管理するのがいわゆるDBですよね クライアントがデータを問い合わせる画面(入力画面)がありますよね。 Accessではフォームと呼ばれていると思いますが、 それってどうやって作ってるんですか?
>>146 VBとかC#とか、好きなので作れるよ。
148 :
名無しさん@お腹いっぱい。 :03/09/16 23:24 ID:8cPbP4A7
データベースの専門用語を解説しているサイトってないですか?
あります
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との組み合わせの場合は古いものでも使える のですか?
>>146 >サーバーにデーターが入ってそれを管理するのがいわゆるDBですよね
正確にはRDBMS
FormをAccessで作るなら,単一のテーブルで練習しなさい。
初心者用としては、データベースウインドウのフォームをクリック
『ウイザードを使用してフォームを作成』をクリック
テーブルを選択して表示するフィールドを選択
以下省略
できたフォームをデザインビューで開いてツールボックスからボタン等を貼り付ける。
以下省略
ほんの一冊ぐらい買ってやってください。
Accessのヘルプにも載っている。
147さんの様にしか答えようがない。
ア〜メンドクサ!!
153 :
名無しさん@お腹いっぱい。 :03/09/20 16:48 ID:j3yG6RMI
初心者です。教えてください。 いま塾の講師をやっているのですが、入試問題をデータベース化して、 例えばその単元ごとに問題を抽出できるようにしたいのですが そのようなことができるソフトってありますか?
154 :
名無しさん@お腹いっぱい。 :03/09/20 19:33 ID:IwSMwUDT
たぶんこの板の趣旨とはちがう質問だなあ
156 :
名無しさん@お腹いっぱい。 :03/09/21 10:30 ID:Ba4O8XLV
Win版のOracle8iをCDからインストールしようと思ったら、 CDが複数あって(ClientとかPersonal Editionとか)どれを 選んだらよいかわかりません。 とりあえずsql*plusが使える状態にしたいのですが、 どのCDをインストールしたら良いでしょうか? どなたかご存知の方、よろしくお願いします。
>>156 なんか臭うが。。。
そのマシンでDBを構築するんじゃないのならClient使って一通り入れとけ。
158 :
156 :03/09/21 20:32 ID:???
>>157 ありがとうございます。
急遽業務でC言語とOracleを使うことになったのですが・・・わからんことだらけ!
勉強します。
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;
使ったこと無いんであれだが、table名にbind_param は使うものじゃないって ことじゃないの?型も指定できるようだし
163 :
161 :03/09/22 14:16 ID:L9Cf+/UA
なるほど、型の指定が出来るということはテーブル名にbind_paramを使うのは不適当な感じがしますね・・・。 代替の手段を探してみます、ありがとうございました。
ずびばぜん、SQLからしばらく離れていたら脳みそがパーになってしまいますた(Tд⊂ テーブルAに存在して、テーブルBに存在しないレコードの抽出って どうやるんでしたっけ(Tд⊂
>>164 NOT INとかMINUSとか、他にも色々あるかも。
仕様わかんないんでここまで。
>>159 オライリーのMySQL & mSQLとPerlの本でいいんじゃないかな。
自分は同社のMySQLとPHPを読みつつ始めたんだけど
少しづつではあるが理解できて作業が進んでいってるよ。
>>164 table_a に対し table_b を table_aのシュキーで内部結合でしょうか
今、アクセスでレポートを作成しています フィールドは 番号 名前 001 田中剛 002 佐藤昇 | 098 柴田彩 こんな感じで、これをウィザード使って表形式で作ると 一列が下まで達すると次のページに移るんですよ 列の幅を狭くして、1ページに複数の列を入れたかったので 詳細の欄をコピーして並べてみたのですが、このままでは 列は2つになりましたが、2列とも同じ内容になってしまいました これを同じ内容ではなく、続けて次の内容が表示されるようにするには どうしたらいいのでしょうか?
「Access 複数列のレポート」でぐぐる
テーブルに数値型で入力した「1972」などの年号を 昭和に直すことってできますか?
>>170 Accessなら Format(DateSerial(1972,1,1),'ggge')
フィールドに「1」と「2」というデータが入っていて それを元にして新しいフィールドに1が入っているレコードならば「男」 2が入っているレコードならば「女」とデータを入れるにはどうしたらいいでしょうか?
てかそもそも、1=男、2=女と決まっているなら、それをあえて項目として持つ必要は無いんじゃ? それでもというなら、VBA又はクエリ使って入れる。
174 :
172 :03/10/08 15:16 ID:???
どうも、アドバイスありがとうございます 更新クエリで解決しました
175 :
172 :03/10/08 17:02 ID:???
また、問題が拗れてきました 最終的には性別の情報をレポートで出力したいのですが 元のテーブルの方を定期的に外部からのインポートで更新しなければならないので 更新クエリで「1・2」という数字から「男・女」に変えても、テーブルの更新の際に戻ってしまいます なので、テーブルの更新に連動できるように、クエリで式にIIf関数を使って変換したのですが レポートにまとめる際に、元のテーブルのフィールドとクエリのフィールドを一緒に選ぶとエラーが出てしまいます テーブルに連動したオブジェクトのフィールドを、そのテーブル自体のフィールドと 同じレポート内で使うのは、どうやっても無理なものなのでしょうか?
エラーメッセージくらい書いてオケよ。
177 :
172 :03/10/09 11:04 ID:???
自己解決しますた
レポートで、開くたびに特定の項目を入力なんてのはできますか?
179 :
178 :03/10/09 11:59 ID:???
入力するのは解決して、現在、その値に定型入力を設定しようとしているのですが レポートの場合、テーブルの定型入力とは異なるのでしょうか? 4桁の整数を入れるようにしたいので「0000」と打ってみても 全く効果はありませんでした
日付型でなく、数値型のフィールド三つに、それぞれ「1978」「05」「21」というように日付のデータが入っていて その日付から、『2001年の10月〜2003年の3月まで』という形で条件を指定したいのですが 年のフィールドだけなら >=いつから and <=いつまで と指定できるのですが そこに月を加えるとなると、うまい式が思いつきません 上記のような指定をしたい場合、どのような指定の仕方をすればよいのでしょうか
>180 年*10000+月*100+日すれば良し
182 :
NAME IS NULL :03/10/16 00:41 ID:zesc3CO3
Access初心者です。引数「時間単位」には"ss"までとなっているようですが 100分の1秒まで表示させる方法はないでしょうか? どなたかご教授ください。よろしくお願いします<(_ _)>
183 :
182です :03/10/16 00:44 ID:zesc3CO3
名前入れるの忘れてました
184 :
にし :03/10/16 00:52 ID:zesc3CO3
Access初心者です。引数「時間単位」では「秒」までとなっているようですが 100分の1秒までを表示する方法はないでしょうか? どなたかご教授ください。よろしくお願いします。
186 :
NAME IS NULL :03/10/16 11:32 ID:CgOALrg4
VIEWのメリットって何ですか? JOINしないような場合には、作るメリットはないのでしょうか?
187 :
NAME IS NULL :03/10/16 22:41 ID:xRJld+53
188 :
NAME IS NULL :03/10/17 00:07 ID:9xyECtDb
>>181 そりゃ遅い
>>180 年 = 2001 and 月 >= 10
or
年 > 2001 and 年 < 2003
or
年 = 2003 and 月 <= 3
の方が圧倒的に速いと思われ。
なぜ速いか分からない香具師はDB設計ヤメレ。
189 :
188 :03/10/17 00:09 ID:9xyECtDb
ね、年が同じ場合には投げるSQLをかえてくれよナ!
190 :
NAME IS NULL :03/10/19 04:24 ID:VI+vho13
すいません助けください。データベースのスキーマで質問があります。 部品表 動作表 ------------- ------------- |PK|部品ID | |PK|部品ID | | |部品名 | |PK|部品動作ID | | |部品価格| | |動作 | | |部品色 | ----------------- ------------- 部品名、部品価格、部品色は部品IDにすべて従属してます。 動作は、部品ひとつにつき複数(いくつかわからない)もっております。 そして、部品ごとに動作は違い、ほかの部品と重複する場合もあるし しない場合もあります。 このようなスキーマを考えているのですが部品表のほうは問題ない と思うのですが、動作表のほうが部品IDがなくても部品動作IDだけで 動作は抽出できるのですが、どの部品に対応しているのかわからないので 部品IDをいれてるのですが、このような設計でいけるのでしょうか? もっといい方法があれば教えてください。 これだけの拙い説明で申し訳ございません。
動作表 ------------- |PK|部品動作ID | |FK|部品ID | | |動作 | ----------------- PK 主キー,FK 外部キー >動作表のほうが部品IDがなくても部品動作IDだけで >動作は抽出できるのですが、 この文章から、察すると上記のような形にもできるかなーと 思ったりします。 主キーがどうなるのか、部品IDごとになるのか? 部品動作IDだけでも一意となるのか? が違うところですね。
192 :
190 :03/10/19 16:37 ID:IGlJLfW/
>191 ありがとうございます。 どうやらその方法でいけると思います。
WindowsでMySQLのサーバ?立ち上げるときにmysqldってやるじゃないですか。 そのときオプションで--default-character-set=sjisっていうのは できるのですが、これをEUC_JPでやるにはどうしたらいいですか? 普通に打ち込んでも駄目みたいなんです。notなんたらとか出て。 で、そのままやると文字化け。もう見てらんない。
195 :
NAME IS NULL :03/10/22 02:12 ID:Kkwd8ldT
VBでDAOを使ってるんですが、 重複のないユニークな番号って どうやったら取得できますか?
SQLの勉強をしたいんですが、タダで使える良いデータベースソフトを教えてください。 MySqlだと副問い合わせが出来ないんです・・。
PostgreSQLとかいかがですか?
198 :
NAME IS NULL :03/10/26 03:24 ID:VhRFCGMh
Yahoo!みたいなカテゴリ構造(というか、ツリーー構造?)を、 テーブル設計するにはどうするのが、よいのでしょうか?
201 :
NAME IS NULL :03/10/26 17:04 ID:huzQNrNF
CSEは最高ですな CSEは最高ですな CSEは最高ですな CSEは最高ですな
列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にして処理したら望む結果は得られたのですが、 会社の先輩に死ねって言われますた 誰か親切な方教えてください。おながいすます
SELECT a, (SELECT count(*) FROM 表 tt WHERE tt.b = t.a) AS 数 FROM 表 t ・・・という解釈でいいのかな?
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 ) ; ってするのは、一般的にどっちが高速でしょうか? 各表は数十万レコードしかないとします。 後ろの書き方はなんかキモチワルイので余り書きたくないけど。
> 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取って比較してみるのが一番かと。
206 :
NAME 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とか、ファンクション(プロシージャ)を使っても、今ひとつ しっくりこないです。
207 :
NAME IS NULL :03/10/30 11:47 ID:H1EkQI65
すいません、IBMのCICSってデータベースじゃないですよね?
208 :
206 :03/10/30 12:24 ID:???
単純に FOR ... LOOP FOR ... LOOP FOR ... LOOP END LOOP END LOOP END LOOP なのかな。でもうまく動かないんだよね。・・・
210 :
206 :03/11/04 05:23 ID:???
>>209 初めて知りました。階層問い合わせ、というやつですね。なるほど!便利そうです。
と、調べたら、PostgreSQLには階層問い合わせ関数が実装されてませんでした。。。(涙
CONNECT BY句を参考にさせていただいて、結構調べてみたら、Postgresユーザーは
ファンクション、ストアドプロシージャでしのいでるようです。。
>>208 でなんとなく、近いものが出来たんですが、孫のあたりのループで詰まって
しまいました。でもなんとか頑張ります。ヒントをありがとうございました。
PostgreSQLってどうやってアンインストールするんですか?
ルートになって rm -rf /
SQLについて質問させてください。 テーブルAとテーブルBがあり テーブルAには更新日付とその他情報、 テーブルBには月判別サイン('before'か'after'が格納されています)とその他情報が入っています。 テーブルAの更新日付の年月がシステム日付の今月以前(今月含む)なら テーブルBの月判別サインが'before'のものと結合、 それ以外なら'after'のものと結合させて表示したい場合、どのようなSQLになるのでしょうか? DBはoracleです。 お分かりになる方がおられましたらどうかよろしくお願いします。
SQLについて質問させてください。 テーブルAとテーブルBがあり テーブルAには更新日付とその他情報、 テーブルBには月判別サイン('before'か'after'が格納されています)とその他情報が入っています。 テーブルAの更新日付の年月がシステム日付の今月以前(今月含む)なら テーブルBの月判別サインが'before'のものと結合、 それ以外なら'after'のものと結合させて表示したい場合、どのようなSQLになるのでしょうか? DBはoracleです。 お分かりになる方がおられましたらどうかよろしくお願いします。
216 :
213 :03/11/06 03:24 ID:???
二重投稿申し訳ないです。
217 :
214 :03/11/06 03:26 ID:???
↑名前間違えました。。。 何度もすいません
いまいちよう分からんけど、unionでするとかPL/SQLでするとかってところじゃないのかな。
219 :
NAME IS NULL :03/11/06 11:50 ID:8NtSTsdz
MSDE2000についての質問です。 Windows2000AdvancedServerのクラスタサーバーで動くのでしょうか?
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 ...;
>>219 フェイルオーバーしたければ要EnterpriseEdition
222 :
NAME IS NULL :03/11/08 00:25 ID:4ES5D67C
ADOとDAOはどっちを使ったらいいのでしょうか? DAOは将来無くなるのでしょうか?
MDBならDAOでいいでそ。 それ以外ならADO、又はベンダー提供の物
224 :
NAME IS NULL :03/11/09 17:33 ID:/kHY1cK7
DBの勉強始めるにあたっては、 やっぱりオラクルマスターから始めるのが無難ですか? 今の仕事は別にゴリゴリDBいじってるわけではないですし、 現場によってDBは違うけど(今はSYBASE)、 なんか面白そうなので勉強しようかと思ってます。 どうでしょう。
225 :
Oracleさん :03/11/09 21:57 ID:kx43WMh0
こっちで質問すべきだったようですね。ごめんなさい。 質問なんですが、Oracle6i、Oracle7i、Oracle8iってそれぞれ いつ頃発表されましたっけ? 知ってる方、覚えている方いらっしゃいますか?
226 :
NAME 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って見たこと無い。
227 :
NAME 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の情報はまったく見つからない。
228 :
NAME IS NULL :03/11/10 11:33 ID:32YTYQ7B
E.F.Coddの書いた、SQLのバイブル的本といえば、何があるでしょうか。和洋 問いませんが、できれば和書で……。
229 :
NAME IS NULL :03/11/10 20:02 ID:eprXiJRw
230 :
Oracleさん :03/11/11 13:26 ID:JPABM/Fz
>>226 =227さん
丁寧なご回答ありがとうございました。
まだまだ初心者なのでトンチンカンな質問ですいませんでした。
でも助かりました!
231 :
NAME 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) このようなエラーが出てしまいます。なんなんでしょう?
>>231 その英語がわからないやつに使う資格はないと書いてある
とりあえず本屋でMySQL本買うべし。
>>231 起動の時にユーザ名いれれ。つーか本かえ。
234 :
231 :03/11/12 09:12 ID:???
>>232-233 本は3冊ほど持ってるんですけどねぇ。
インストール方法は本によって、WebSiteによって
違うんですよ。
Webにあるやつは未だに3系のインストール方法を
説明してたり。
でもなぜか結局うまくいきましたです。
235 :
NAME 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に接続できるユーザを複数にしたいのですがどうすればいいでしょうか?
236 :
NAME IS NULL :03/11/14 11:33 ID:exmZqLba
>235 mysqlにrootではいれないの? そのあと、GRANT文を実行するんじゃダメ?
237 :
235 :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まで復元されるのでしょうか?
239 :
NAME IS NULL :03/11/16 16:09 ID:ATmzkEYI
初級シスアド試験を受けたいのですが、 SQLの本を一冊やるのと ACCESSの操作を一通り覚えるのと どちらを先にしたほうがいいですか。 一回シスアドの勉強に挫折しているので 今度はちゃんとやりたいのです。 あと、EXCELもMOUSE一般を取得してから シスアドの勉強に取り掛かったほうが いいでしょうか。
シスアドはOfficeのスキルを図る試験じゃない。 試験範囲はもっと広く浅い事くらいわかるだろ? SQLの本を一冊やってもAccessを覚えていいが、それ以外の部分が全く素人なら それだけでアウトだろ。 っつーか、なんで素直にシスアド試験本をやらないのか理解に苦しむ。 ・・・それ以前に板違いカモナー 資格板行ったほうが酔い。
初心者です。よろしくお願いします。 windowsでDBを始めようと思うのですが・・・最初は何から入ったらやりやすいですかね? 今まではオフコンでCOBOLをやっていたのですがそろそろwindowsに移行しないといけないもので
242 :
いなむらきよし :03/11/17 19:22 ID:UAJJXCVn
キケー!
>>241 会社で使ってる(使おうとしている)データベースがあれば
それを使ったほうが良いかと思います。
お前ら、COUNT(*) と COUNT(field) の違いについて教えろ。 後者にNULLレコードが含まれない限り 前者=後者となるという理解は間違いなのか?
246 :
NAME IS NULL :03/11/18 22:14 ID:cSe9cgHx
「このようなシステム」が何を指すのか。 Webアプリという事なのか。
>>245 * は使わないなー。なにが起きるかわからんから。
>>246 「TVの作り方教えてください」って言ってるようなもんだぞ。
オラクルマスターのどのへんがテクニカルエンジニアDBに相当するんですか?
オラクルに依存しない部分だろ。 どっちにしろ方向性が違う資格。やるなら両方取れ。
252 :
オラ :03/11/19 19:06 ID:buoE7gCD
質問でス。 oracleでトランザクション処理をする場合って、 テーブルをロックしてから、更新データはいったん rollbackセグメントに入りますよね。 この時、rollbackセグメント内に蓄積されるのって、 更新データ自体が入って、commitと同時にテーブルに 反映されるのでしょうか? それとも、テーブルをロックして、 そのまま更新を行い、UNDOやREDOログが セグメント内に蓄積されるのでしょうか? 参考書を読んだのですが、いまいちわかりません。 初歩的な質問で申し訳ありません。
>>252 > oracleでトランザクション処理をする場合って、
> テーブルをロックしてから、
テーブルをロックすることはあまりありません。
> 更新データはいったんrollbackセグメントに入りますよね。
ロールバックセグメントには元に戻すための更新前データが入ります。
更新データはSGA内のデータベースバッファキャッシュに即時反映されます。
> commitと同時にテーブルに反映されるのでしょうか?
SGA内のデータベースバッファキャッシュには既に反映されています。
COMMITと同時にREDOログファイルに反映されます。
その後チェックポイントが走るとデータファイルに反映されます。
254 :
オラ :03/11/19 19:26 ID:buoE7gCD
>>253 NAME IS NULLさん、ありがとうございます。
ロールバックセグメントには元に戻すための
更新前データが入るのですね。
そうしましたら、rollbackを行った場合って、
ロールバックセグメントから、基のデータを
データベースに反映するだけって事ですね。
>>251 別物なんれすね
資格はソフトウエア開発者のPGれす
ストアドプロシージャ組んだりSQL生成して投げるコード頻繁に書いてます
DB関係の仕事多めなんでこっちの資格も取りたいなと
postgres7.4です。 sei | mei ------+---- 山田 太郎 山田 太郎 鈴木 一郎 ← ここは重複してない。 田中 花子 田中 花子 (以下延々) といった具合に、姓名が一部重複したテーブルを作ってしまいました。 ここから重複した物を1つに直すにはどういう方法があるでしょうか?
>>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;
こんなんでどう?バックアップ作ってからやってね
×INSERT INTO original_table SELECT temp; ○INSERT INTO original_table SELECT * FROM temp; 手打ちだとミスるなあ、実行するときは慎重に・・・
259 :
256 :03/11/23 01:06 ID:???
ありがとうございます。 >DELETE FROM original_table; のところで、tempの内容も消えてしまいました。。。^^; もしかしてinheritsだったからなのでしょうか。 とりあえず、方針わかりましたので、ありがとうございます! distinctってのでテンポラリに移して再構築すればいいのですね。 何とかできそうです。ありがとうございました!
>>259 >tempの内容も消えてしまいました。。。^^;
これはすまんかった。
temp使ったときは元のを消したりしなかったから
気がついてなかった、、、ありがと
261 :
NAME IS NULL :03/11/23 20:33 ID:bLtoQoVU
SQLサーバー2000で、 テーブルに挿入するたびシーケンス番号を、0000001〜9999999まで+1しながら採番して いくにはどうしたらよいですか!?
262 :
NAME IS NULL :03/11/24 00:21 ID:OYPiXpEa
264 :
NAME IS NULL :03/11/24 13:34 ID:rSuAMXw4
テーブルA 製品ID,部品ID1,部品ID2 テーブルB 部品ID,部品名 というテーブルがあるのですが、これらから 製品ID,部品名1,部品名2 というような出力を得たい場合どのようにすればよいでしょうか?
部品名2って何だよ?
いや、それ言うなら部品名1だって(w
>>264 joinを使う。
テーブルBを同時に二つ使う。(別名を利用して)
でやってみてください。
joinとかの書き方は自分で調べてね。
HTMLのフォームから入力した文字を SQLの検索条件に組み込むにはどうすれば良いのでしょうか? sql = "SELECT 製品番号, 製品名, 価格 " & _ "FROM 製品表 " & _ "WHERE 製品名 LIKE '% INPUT_DATE %' ;" の"INPUT_DATE"をフォームから入力したいんです。
>>267 OSはWIN98でDBMSはAccessです。
Personal Web Serverで作ったサーバの
データベースをフォームから検索しようとしています。
270 :
初心者 :03/11/25 01:57 ID:cQQYKpJJ
Oracle8iを利用しています。 SQL*PLUSやJDBCで実行されたSQLのログを調べたいのですが、 どのようにすればいいんでしょう?
あぼーん
272 :
NAME 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と商品名両方 表示されてちょっとみにくいんです。 よろしくおねがいします。
274 :
NAME IS NULL :03/11/25 21:29 ID:UR+Xi4xd
EXISTSの意味がわかりません。 詳しい例を交えながら、手取り足取り教えて下さい。 おながいします。
>>274 googleで
SQL EXISTS
キーワードで検索してみて。
いくらでも参考文献でてくるから。
選択クエリーで ソート後上から順番に番号をつけていくフィールドを作りたいのですが その方法がわかりません。 お教えいただけますようよろしくお願いいたします。
277 :
260 :03/11/26 15:51 ID:???
>>257 のDELETE FROM は、ONLY をつけるといいらしい・・・
一応書いておきます
278 :
NAME IS NULL :03/11/27 05:27 ID:+p8lMKpX
279 :
NAME 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の合計が表示されてうまくいきません。
>>279 ANSIならCASE
OracleならDECODE
でいけるんじゃない?
ACCESSでインポートの処理をマクロを使って自動化したいのですが 例えばマクロを実行すると、ファイルを選ぶ画面で希望するファイルの種類も選択済みになって ファイルを決定すると、その後の設定をすっとばして、というかあらかじめプログラムした設定を行って いきなりインポートなんてことはできますか?
282 :
281 :03/11/28 10:04 ID:???
ちょい、書き忘れ インポートするのは他のDBだけでなく、CSV TXT XLS などのファイルからもやろうとしています
できる
284 :
281 :03/11/28 14:10 ID:???
即レス、どうも 自分でも色々調べ、今、CSVファイルを既存のテーブル(うまい棒)にインポートする というようなことをやりたくて、アクションの引数を 変換の種類インポート データベースの種類ODBC データベース データーベース名C:\Program Files\mona.CSV オブジェクトの種類テーブル オブジェクト名 変換先名うまい棒 テーブルの構造のみ変換いいえ という風に書いて実行してみたのですが、『インストール可能なISAMドライバが見つかりませんでした。 と表示されうまくいきません、これを解消するにはどうしたらいいでしょうか?
CSVのインポートはテキスト変換じゃないかい?
286 :
281 :03/11/28 17:27 ID:???
287 :
NAME 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); だったら総数取得できたけど、、これはいやだ。カコワルイ
あたりまえだ。 select * from bbs だったらどんなreturnを期待するんだ?
>>287 $all = mysql_query("select count(*) from bbs");
$count=mysql_num_rows($all);
だったら何が返ってくるかやってみろ。
290 :
NAME IS NULL :03/12/01 03:08 ID:vzhFep4z
macといえば4D、しかもマルチプラットフォームで 複雑なDBが組めるのはこれだけだったんですが 最近、どうなんですかね スレもないし、Web検索してもユーザーグループが みつかりません ファイルメーカーで限界を感じて乗り換えようと思った んですが、もう終わっちゃってますか?
マクロを使って、オブジェクトの削除でなくテーブル内のデータを全件削除したいのですが どうやったらいいでしょうか?
292 :
291 :03/12/01 08:47 ID:???
あ、スンマソン ACCESS2002です
ACCESSなんですが レポートで、一人の人に対して住所や電話番号・年齢・性別といった『一人一つ』のレコードをまとめた単票形式のレポートと 資格や家族など、一人に対して複数のレコードを表形式にまとめたレポートを合わせて作りたいのですが どうしたらいいでしょうか?
>>291 [SQLの実行]で削除するSQL書けば出来ませんか?
削除するSQLが分かんなかったら削除クエリ作ってSQLをコピーすれば出来るし。
>>293 がんばれ。本とか読んでがんばれ。
サブフォーム(ぼそ
抽象的な質問には抽象的な回答しか出来ないかと。
295 :
293 :03/12/02 16:17 ID:???
296 :
293 :03/12/02 16:24 ID:???
自己解決しました ただ、一件目も二件目もそれぞれ次のページに空白の1ページが挿入されてしまいます
297 :
293 :03/12/02 16:41 ID:???
スマソ、また自己解決した いや、とりあえず何かやってみるものだね
Access使ってRDBを設計しています。 テーブルに一つ、長さが不定の配列が欲しいのですが、 DBで配列モドキってフィールドにArray1 Array2... ってやってくしかないのでしょうか(;´Д⊂)
「長さが不定の配列が欲しい」というところを見直す。
ACCESS2002で複数のテーブルを使った単票形式のレポートを作っているのですが ひとつのテーブルが空のレコードがあると、他のテーブルにレコードが入っていても、その分も何も表示されなくなってしまいます 例えば Aテーブル…番号、名前 Bテーブル…番号、年齢、性別、所属 Cテーブル…番号、郵便番号、住所、電話番号 という3つのテーブルがあり、AとBには全てのレコードが入っているがCのテーブルは空となった場合にAもBも表示されなくなってしまうということです これをレコードが空のテーブルがあっても、他のテーブルの分は表示できるようにしたいのですが、どうしらいいでしょうか
結合条件見直せば?
302 :
298 :03/12/03 14:52 ID:???
>>299 レスサンクス。やっぱそれですか…
固定長でもやっぱり field0 field1... って連番でfieldを作るしかないですか?
>>302 2個のテーブルに分ければいい
key name
key sub_key field
305 :
300 :03/12/03 17:13 ID:???
>>301 レス、サンクス
え〜、結合条件はよく解らなかったのでサブレポートにして無理矢理単票形式風味にしてしまいました
しかし、今度は何故かプレビューを開くと
>>300 で言うAテーブルの名前でパラメータの入力が出てきてしまいました
このパラメータが何を指しているか解らなかったので、とりあえず半角で「1」と入力してやると
何の異常もなく、全てのレコードが表示されたました
このパラメータ入力がいちいち出ないようにしたいのですが、どうしたらいいでしょうか?
306 :
298 :03/12/04 08:19 ID:???
>>303 ど、どうすれば…_| ̄|○
>>304 そうすると、テーブルが膨大な数になってしまって現実的ではないかと…
数千単位でテーブルがあるDBって普通ですか?
DB専用にチューンしたPCではなく、
他のタスクと一緒に普通のPCで走らせるDBとして…
ハードがCPU450MHzでメモリは188MBのパソコンなんですが サブレポートを四つほど使った、レポートのプレビューを開こうとすると2・3分かかってしまいます 最適化してみたのですが、特に変わりもありません こいつをもうちょっと早くするには、ハードウェアをいじる以外に手はないのでしょうか?
>>305 (´・ω・`)全然違うよ。。。
多分ACCESSに聞かれてるのは、結合しているクエリでうまく結合できてないか
ない項目名になってる部分。
出てくるパラメータを聞く画面の中に項目名[???]ってのがACCESSで見つけられない部分。
見直せってのは、クエリ作る画面で
┌─┐ ┌─┐
│ ├─┤ │
└─┘↑└─┘
ここの線をダブルクリック(もしくは右クリックで結合プロパティ)
すると、結合条件が出てくるのでよく読んで合う条件に変えなさいって意味です。>301は
>>306 >304さん(僕じゃないです)が言うのはそういう意味ではないかと。
横に不定にするのは得策じゃないので、1テーブルで縦に(レコードとして)しなさいよって意味かと。
これを「第1正規化」という。らしいです。違ってたらすまんです。
>>307 サブレポートを一個ずつ表示させてみて、遅い奴を直す。(テーブルにインデックス作るとかで)
サブレポート4つって事は、一緒に5つのものを作ってるわけだから
遅くなるのが当たり前かと思いますが。。。
まとめてレス見難かったらごめんなさい。
>>308 ご丁寧に、ありがとうございます
インデックスとか追加したんですけど、全部リンクテーブルなんですよ
どうやら、まずその辺を見直さなきゃいけないみたいですね
>>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
ずれたらスマン
それでもテーブル数が膨大になるというなら設計がおかしい
削除クエリを複数開く、マクロを作っているのですが実行しても 一番上の行に書いてある削除クエリしか開かれません、これを全ての削除クエリを開くようにしたいのですが どうしたらいいでしょうか?
>>311 何のシステムの話?
なんとなくAccessっぽいが・・・
Accessだろうな。 マクロの話ならAccessスレで聞いたほうがいいと思う
315 :
298 :03/12/06 15:43 ID:???
298です、遅くなりますた。
ちょっと整理を…
テーブルAとテーブルBがあります。
テーブルAのレコードから、テーブルBのレコードを参照しています。
ただ、参照先のレコード数が不定です(ここが多分一番の問題…)
想定最大レコード数はテーブルAが数千〜1万、テーブルBが数百〜数千です。
なのでテーブルAのレコード別にテーブルを作るのは、非現実的なのです。
そこで悩んでいるわけなんです。
>>308 サソ
多分、これをテーブルにするのは上記理由で難しいかと…
>>310 サソ
なるほど。なんとか理解できました。
おかげさまで>308サソの仰っていたことも理解できました。
ズレはキニシナイ。
ただ、sub_keyに追加削除が加えられた際の再ナンバリングはどうすれば…?
がしがしUpdate文を発行させるのでしょうか…(;´Д`)
とりあえずaccessと入門書と格闘してみます…
多くのAccess入門本にはこういった設計に関する事って全く載っていない事が多かったり・・・ 正規化でぐぐってみて出てきたサイトを見るほうが賢明かと思われ
>がしがしUpdate文を発行させるのでしょうか…(;´Д`) よくやるのは、keyで一旦デリートして全部インサートし直してますな。 プログラムの動作によるんでしょうが。。。
>>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
すまん、1対nの時は中間テーブル不要だ。 n対nの時だけな。
データベース村へようこそ
ACCESS2002でサブレポートの並び替えをしたいのですが 「親」と「子」の「子」にあたる方のレポートの設定を変えて、そのレポート単体で開いた時は並べ替えられたのですが 親の方のレポートを開き、親の項目に合わせて子のデータが抽出されるときになると その並びが反映されません、この並びを反映さえたいのですがいかがしたらいいでしょうか?
322 :
321 :03/12/08 10:39 ID:???
スンマソン、自己解決しますた
323 :
311 :03/12/08 11:47 ID:???
テーブル名に@マークを使用するには、どのようにすればいいのでしょうか?
データベースがよく分かんないけど使っちゃダメ(はぁと
ACCESS2002です CSVファイルを新規のテーブルにインポート→テーブルのレコードを全て削除→ →空になったテーブルに、再び同じファイルからインポート という作業をすると、一種類の項目でいくつかインポートエラーが起こってしまい 最初のテーブル作成時のインポートでは入力されていたのに、二回目ではデータが入っていないという状況になってしまいます これを二回目以降のインポートでも、全てのレコードを正確に入力させるようにしたいのですが どうしたらいいでしょうか?
327 :
326 :03/12/09 09:19 ID:???
ちょっと書き忘れ 二回目のインポートはマクロで『テキスト変換』を使っています で、マクロを使わずに、ファイル→外部データの取り込み→インポートならばエラーも出ずに問題ないのですが これをこれをマクロを使ってもエラーがでないようにしたいのです
328 :
NAME 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)
のようにフィールドごとにインデックスを作成した方がよいのでしょうか?
すいませんが、よろしくお願いいたします。
少なくともOracleでは2フィールドをまとめた複合索引の方が良い Postgreもこれから勉強しなきゃなー
すみません教えてください テーブルの名前なんですが、 マスタデータなら TM_Foo トランザクションデータなら TT_Boo てな感じでつけてるんですが、 その他のデータはどういう命名をしていけばいいかわかりません。
>331 前にしたがってテーブルの種別の頭文字でいいんじゃない その他のデータ、ってのに何があるのかは洗い出されてんの?
その他のデータなら、ETC_Poo
334 :
NAME IS NULL :03/12/11 22:38 ID:TxfgNqBy
[質問] Oracle9iDatabase関連の質問です。 グラニュルサイズの影響以外で初期化パラメータで定義した共有プールの値が インスタンス起動時に修正(増加)されるケースってどんな理由が考えられますか? ご存知の方いらっしゃったら教えてください。
>>334 動的SGAで構成されている環境において
ALTER SYSTEM SET SHARED_POOL_SIZE=XXX; を行う
データベース起動トリガが仕掛けてある場合。
336 :
NAME IS NULL :03/12/11 23:54 ID:TxfgNqBy
>>335 回答ありがとうございます。
そんなんされてたら死にたくなりますね。(笑)
なんか不安になってきた・・・。一応調べてみます。
337 :
334 :03/12/12 00:14 ID:???
>>334 そういえばV$SGA_DYNAMIC_COMPONENTSに何もなかった気がする。
ここになかったら起動後の変更じゃないですよね。
さっぱりわかりません。
338 :
334 :03/12/12 00:15 ID:???
不甲斐ない339でございまつ。 どなたか、教えて下さい。 長所 短所 PostgreSQL MySQL Access Oracle
340 :
NAME IS NULL :03/12/12 19:43 ID:yFLBpzKI
ヤフーのブリーフケースにDATABASE1というデータベースソフトに書き込んだデータを入れておいたのですが それをダウンロードして開こうとしても「適切なグラフィックインポータが見つかりません」と表示されてしまいます。 しかもJPEGファイルになってるのですがこれでいいのでしょうか? 当方マックです
341 :
NAME IS NULL :03/12/12 21:21 ID:trSynshc
>>339 PostgreSQL
長所:無料
短所:性能、可用性要件が厳しいところではなかなかOracleに勝てない
MySQL
長所:無料
短所:適用分野がやや限定、機能が少ない
Access
長所:安上がり、技術者を集めやすい
短所:適用分野が限定、中〜大規模システムは無理、Windows版しかない
Oracle
長所:大規模、高信頼性システムで実績がある、技術者を集めやすい
短所:1プロセッサあたり500万円+年間保守が定価の22%と高い
342さんに感謝している339でつ。 342さん、わざわざどうもありがとうございました。
Accessの短所にこれも入れてくれ ファイル共有型DBであり、マルチユーザ環境には向かない、と。
345 :
NAME IS NULL :03/12/13 17:14 ID:xWodPxue
>>342 PostgreSQLの性能は短所と言うほど遅くないっしょ。
短所といえばツール類の不足かな?
Oracleはバグが多く(おもにツール類だけど)、バグフィックスには
年間保守(定価の22%)が必要って事だと思う。
あと、Accessを出すならSQLサーバも必要かと。
>>342 まるでフリーRDBMSに長所がないみたいだな(w
とか、宗教戦争を煽ってみる。
>>345 MS SQL Server を出すならSybaseも(ry
347 :
NAME IS NULL :03/12/14 00:34 ID:FAvMEVSj
すいません mySQLとoracleとsqlサーバや他のSQLなどの違いを教えてください システムを構築する時に 各SQLに何かしらメリットや有利な点があるから採用されると思うのですが どう違うのでしょうか? SQLの操作だけならそんなに変わらないと思うので 違いがよく分かりません 教えてください
>>347 ・SQLハンドブック等を買って各DBMS毎のSQLの差異を調べる。
・良く特集で書かれているDBMSの比較の記事でSQL以外の差異も調べておく。
・「各社毎にそちらのDBMSは他社さんとどこが違うの」と訊く。
あと必ずしも直接的な性能やコストが「お客さんにとって」メリットに
なるから採用されるとも限らないワナ。開発側が慣れてるから間接的に
コストが下がるとかの理由で採用してもらったりもする。
#最近仕事をMLとかに○投げしてると思われる人ら多杉。気のせいか?
350 :
NAME IS NULL :03/12/14 23:03 ID:gdcNSZuM
SQLの勉強始めたいのですが初心者向けのお勧めの本教えてください。 漏れとしてはオラクルシルバーを取りあえずの目標にしようと思ってるので 黒本買おうと思ってるんですが…
>>350 資格試験用の本はよくわかんないけど
Oracleについて勉強するんなら、OTNのサイト逝って
Oracle本体とPDFマニュアルを全部ダウソして
Linux鯖にインスコして遊んでみるべきだと思う。
最初はdba_tables表あたりを教材にselect文を叩く勉強を
すればいいんじゃないかな。createしなくても最初から
そこにあるしね(w
慣れるまではインスコからして超大変。 カーネルパラメータ?SHMMAX?(゜Д゜)ハァ?って言う。 でもやってみるべき。
>>342 それに関連して、MS SQL Serverはどうでしょうか?
355 :
NAME IS NULL :03/12/15 12:43 ID:YJFMAqWn
oracleを使用したいのですが 500万円を持ってない貧乏人は 体験版しか使用できないのでしょうか?
>>355 開発時ならOTNのライセンス取ってOTNライセンスのOracleが使える。
試用なら30日トライアル版がある。折れはトライアル版を開発用と
勘違いしててちょっと恥じかいたことがある。ちゃんと開発用と試用で分かれてる。
単純に、500万のものを貧乏だから安くという話なら、
そもそも500万の製品使う価値がない用途って事だから
さっさとそんなIN/OUT悪すぎな事業やるの止めた方がいいな。
個人で使いたいなら個人向けのOracleもあるし(俺ならAccess使うが)
500万のはOracleの言う可用性欲しけりゃこのくらい出せ的プライスなので、
小規模向けの製品も勿論ある。まあそういう用途はMS SQL Serverに食われてる訳だが。
蛇足だが俺はMS信者じゃなくて、MySQLマンセーな香具師なので誤解無きよう。
#だれかFirebirdの長短書いて。
357 :
NAME IS NULL :03/12/15 20:44 ID:LE6NlQhv
Oracle シルバー と 何を勉強したら就職できますか。(できそうですか)
君が今聞いたような事を自力で調べ行動できる能力を身に付ける事が一番の近道だと思うよ。
359 :
NAME IS NULL :03/12/15 22:32 ID:4gVL0v3C
oracle認定の試験で PL-SQLってありますが あれって何でしょうか?
あまり知らないので方向性を変えてみた。 MS SQL Server 長所:Setup.exeをダブルクリックするとインストールできる 短所:Slammer Wormで眠れない夜を過ごせる Firebird 長所:知るぞ人知るところが優越感をくすぐる 短所:Mozilla Firebirdと紛らわしい IBM DB2 長所:メインフレーム版DB2の並列シスプレックス構成はすごいらしい 短所:AIXやWebSphereなどもねじ込まれて、プロジェクトをIBMに牛耳られてしまう
361 :
360 :03/12/15 23:28 ID:???
知る人ぞ知る(´・ω・`)
>>360 setup.batかsetupsql.exeな
>>359 認定されたかったら自分で勉強してくれ
364 :
NAME IS NULL :03/12/16 09:26 ID:dGtxLQgb
Postgressの部分に異議あり。 ・性能、可用性要件が厳しいところではなかなかOracleに勝てない。 性能では負けてない。可用性要件では負けてる。
365 :
363 :03/12/16 14:24 ID:???
ちこっと、更新。
>363 おおっ、こういう比較表あるとわかり易くてヨイですな。 個人的な要望としては、 ・公式サイトへのリンク ・オンラインヘルプへのリンク ・ユーザ向けコミュニティサイトへのリンク 等が整理されると更に良いのでわと感じました。
DB2/400使う事になりそうです。 Accessのクエリーみたいにマウスで 操作することなしに手打ちでSQLしているんですかぁ?
>>367 いい機会だろうからSQL書けるようになってみたら?
つぶしが利くようになると思うよ
漏れはOracle使いだけど大抵のデータ抽出は手でSQLごりごり書いてるよ。 更新系は恐いからツール作ったりPL/SQL書いたりいろいろ。 5年もSQL叩いてるとGUIでぐりぐりするよりSQL文を手で 打ち込んだほうが早い。モノにもよる。
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歳女子高生です(ハァト
CSVファイルをマクロでインポートする際のインポート定義を変えたいのですが、ファイル→外部データの取り込み→インポート の手順ならばテキストインポートウィザードが起動しますがマクロでインポート定義を変更するやり方がわかりません マクロのテキスト変換でのインポートの際にインポート定義を変えるにはどうしたらいいでしょうか?
372 :
NAME IS NULL :03/12/17 23:01 ID:63ObLRjy
まったく同じ内容のレコードが2レコードある場合、1レコードのみを 削除するSQL文を教えてください。お願いします。
>>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
374 :
NAME IS NULL :03/12/17 23:10 ID:63ObLRjy
なるほど!!rownumがポイントみたいですね、早速実行してみます。 ありがとうございました。
隠しオブジェクトにしていたテーブルに対してインポートを行うと また現れてしまいますが これをインポートを行っても隠しのままにしておくにはどうしたらいいでしょうか?
376 :
370 :03/12/19 09:41 ID:???
370ですけど、だれかおしえて〜 板違いかもしれないけど 最後1行はうそです。ごめんなさい
379 :
NAME IS NULL :03/12/20 19:27 ID:Fj+l+wkM
よろしくお願いします。 "オブジェクト指向データベース"とは具体的にどんなものなのでしょうか? .............(ITワールド、(株)インフォテック・サーブ発行)より抜粋............. オブジェクト指向データベースとは、データ処理手続きを一体化(カプセル化) したオブジェクトで管理するデータベースである。 通常のデータベースでは、利用者がデータに対する処理を考える必要があったが、 オブジェクト指向データベースでは、利用者特定の指示(メッセージ)を与えるだけで データを処理することができる。 ....................................................................................... 具体的にどんなものなのかイメージできません。 どなたか教えてください
380 :
NAME IS NULL :03/12/20 19:29 ID:1+2Myoj+
381 :
NAME 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
>>381 インスコ要件にxpも入っているのは確認したが
エラーを書け
俺は試しにmysql-4.0.17をダウンロードし
w2kproでインスコしたが問題は中田
>>381 デスクトップにおいて実行したりしてない?
パスに日本語や空白を含まないフォルダを作ってそこから実行したらうまくいくかも
384 :
NAME 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の特権?
それとも、必要になる場合があるのでしょうか?
385 :
NAME IS NULL :03/12/21 11:06 ID:yyHYerGZ
今更だけどPHPスレで聞くべきだったか・・ スレ違いスマソ
>>384 PHPが引数省略された際に、内部的に保持してる最後にオープンした値を
自動的に入れている(利便性)だけで、C APIの引数として指定しなくても
良いものじゃないよ。
DBを複数オープンして、その間でデータのやり取りするようなアプリを
書けば「何故省略可能?」とか「引数の必要性」とかの疑問は氷解すると思うよ。
387 :
381 :03/12/21 22:50 ID:DZRbM2Uw
解凍したときにできたmysql-4.0.17-winというフォルダの名前をaに変更したら何故かwelcome画面になりました。 レスしてくれた方ありがとうございました。
>379 例えば「自転車」というオブジェクトがあったとしよう。 今まではこの「自転車」に対して 「A地点からB地点まで動かす。」 という処理を書く必要があったわけだ。 オブジェクト指向では、そのオブジェクトにできることがあらかじめ 定義されているので 「自転車よ、A地点からB地点まで動け。」 というメッセージを与えてやるだけで処理を行ってくれるということ。
390 :
NAME IS NULL :03/12/22 21:27 ID:EtIEzWCs
>>389 その比喩がいけないんだと思う。
自転車オブジェクトは、自分で用意する必要が有るんだから。
391 :
松井 ◆...VBh.www :03/12/23 01:13 ID:n6hM8f4+
皆さんはじめまして 突然ですがYAHOOのトップにチャットという項目があるのはご存知ですよね? そちらのチャットのカテゴリの中に「政治」があります その政治カテゴリのユーザールームに「創価学会YAHOO支部」という部屋があります そこの部屋に遊びにきてください ボイスチャットもフル稼働です みなさんの中にも創価学会に対するご自分の意見をどんどん言ってください その宣伝でした 尚、人数制限がありますので(50人)すぐに満室になって入れなくなるので 今これを読みまして興味を持たれた方はおはやめのご入室をお勧めします
CD-ROMドライブの無いHP-UXにOracle8iをインスコするにはどうしたらよいですか?
393 :
NAME 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ではどのように定義づければいいんでしょうか?
>>392 CD-ROMの中味を全部ftpしてもよし、NFSでマウントしてもよし。
GUIインストーラへの対処としては漏れはvncserverを鯖に
インスコして使ってる。
マクロが正常に実行された場合に、確認のメッセージを出したいのですが (例えばマクロでインポートならば『正常にインポートされました』等の文を出す) そうゆうことは可能でしょうか?
まったくのド素人ですみません。 MySQL(もしくはpostgre) で外食チェーンの一覧表テーブルを作成して チェーン別の連番を主キーにしたいと思うのですが、 (例 MacDo1 Staba5 Mos4 みたいな感じです。) このような場合 テーブルは各外食チェーンごとに別々に作成して 個別のテーブルの連番で管理しないといけないのでしょうか? それとも 一つのテーブルにあらゆる外食チェーンをぶち込んでも可能ですか?
CREATE TABLE 外食チェーン( チェーン, 連番, 所在地, …, CONSTRAINT PRIMARY KEY (チェーン, 連番)); チェーン 連番 所在地 ------- ---- --- MacDo 1 MacDo 2 Staba 1 Staba 2 Mos 1 Mos 2 Mos 3
データベースの項目名に漢字を使うのはどうよ?
TDD3BP1 なんていう項目名よりはよほど好ましい。(⊃д`)
>>399 どこのシステムか分かったぞ。
そして藻舞が誰なのかもな
>389 そのDBが2バイト文字による命名を公式にサポートしていて、かつ 他のシステムやDBとの連携は考慮しなくてよいならOKだと思う。
>>393 RDBでは横方向を動的に増やすことはしないから
時系列のデータはレコードを追加していく。
date 本棚 本
--------------
2003_1 cab01 book01
2003_1 cab02 book02
2003_2 cab01 book02
2003_2 cab02 book05
あとは見せる側でどうにかするんだが、
EXCELのピボッドテーブルなんかでどうにかできるんだろうか?
よく知らんので誰か頼む。
>>402 EUCなら仰るとおりExcelでピボット使うのが簡単だね。
漏れも非定型な集計でよく使うよ。
業務アプリで埋め込みSQL使う時はサブクエリーを
from句に大量に並べて外部結合する(w
必要とあらばSQL文を動的に生成するぐらいのことはする。
集計するロジックを業務アプリにコーディングすることもある。
非正規化したテーブルを作ると維持更新が面倒なので、
バッチ処理が入りそうなことはあんまりやらない。
ここらへんはケースバイケースだけどね。
404 :
NAME IS NULL :04/01/02 15:57 ID:gte0M2fP
動画を見ようとすると @「Microsoft Chatの会話のファイルではありません」 A「指定されたデバイス、パス、またはファイルへのアクセスは拒否されました」 のどちらかが表示されることがあります。 それぞれどうすればいいか教えてください。
405 :
NAME 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回。
407 :
NAME 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
外部結合して片方がNULL
カーソルで表Aのレコード1件ずつループ >INとEXISTSとANY以外の問い合わせ ていうか、そいつらを除外する意図を教えれ。
411 :
そら :04/01/08 15:54 ID:a0co9P6g
20040107を2004年1月7日に変換したいのですが、できることなんでしょうか。 2004/01/07なら、できると思うのですけどね。 僕、初心者なんで、更新クエリを使って、変換しようと思うのですけど。
412 :
NAME IS NULL :04/01/09 17:30 ID:MzxbZFQ4
例えばpostgresqlで create table test (a integer, b text, c timestamp) のようなテーブルを作って データを貯めているとします。 a,bは同じでcが違うものが幾つもあるとして その中で timestampが一番新しいものだけを集めるのはどう書けば よいでしょうか。
group by を使うかサブクエリーを使う。
414 :
NAME IS NULL :04/01/09 18:56 ID:nEuHzQUa
すいません質問です。mdbと同じ感覚で、ファイル形式で扱える データベースソフトでいいのありますか? データベースサーバーソフトではなくあくまでファイルとして だけ使いたいのですが。よろしくお願いします。
415 :
NAME IS NULL :04/01/09 18:57 ID:nEuHzQUa
すいません質問です。mdbと同じ感覚で、ファイル形式で扱える データベースソフトでいいのありますか? データベースサーバーソフトではなくあくまでファイルとして だけ使いたいのですが。よろしくお願いします。
416 :
NAME IS NULL :04/01/09 23:18 ID:MzxbZFQ4
>143 ありがとうございます。 select a, b, max(c) from test group by a, b; と書けるのか。一つ利口になりました。
意味わかんねー あくまでファイルとしてだけ使いたいならファイル使うしかないじゃん
おそらく ・DBMSじゃなく、単一アプリケーションからつかればよい ・テーブル/テーブルスペース、制御ファイルなどが分かれて いるのではなく、データベース全体が1ファイルになっている てことだろう いいのがあるかどうかはしらんが
だとしたらSQLiteか。 SQLはどの程度解釈できれば良いわけ? 前段のプログラムで処理してDBに対して難しいクエリ与えないの?
420 :
415 :04/01/10 13:35 ID:NhBxVdbf
レス有難うございます。 質問の意味は418さんでほとんど正解です。 10名程度のユーザー環境を現在ACCESS2000+VB.net で運用中です。 SQLSERVR2000への移行が最も現実的のようだけれども、 予算が・・・サーバーが現状無い・・・ といった事情で、.mdbファイルを共有にぶち込んでVBで使いまわす。 といったことと同感覚で使用でき、ファイル上限が無いものを望んで います。そんな都合のいいものってあります?
421 :
NAME 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; と書いても駄目ですよねぇ… よろしくお願いします
423 :
421 :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;
一応目的は果たせたように思います。よく理解していないせいもあって、なんだかスッキリしてませんが。
もしどこかおかしいところとか、もっと適切な書き方があればご教授ください。
424 :
415 :04/01/10 18:05 ID:PMmxMnfE
>>422 レス有難うございます。なんとか.mdbが2Gになるまでに
予算を獲得します。(w
>>423 「外部結合」と言っても
テーブルAにあればテーブルBに該当のキーが無くてもデータを抽出しちゃうだけです。
(通常の結合では、キーの無いものは抽出しない)
今回はそれに集計(group by)があるので理解しにくいですが、
理解を深めようと思えば、group byを取り除いてデータ見てみるとよいかと思います。
>>424 がんばれ(w
(´-`).。oO(予算が無い。。。他人とは思えない。。。)
>420 Btrive/PervasiveSQLとかは? っつーか予算云々って、デルあたりの安い鯖買って MSDEブチ込むだけならトータル10万もしないと思うけど
適当にサーバをでっち上げてMSDEを入れるのに賛成。 mdbは壊れることがあるから怖いんだよな。 どっちにしてもバックアップは不可欠だけどな。
428 :
NAME IS NULL :04/01/13 09:52 ID:PEDhg58I
MSSQLにおいて、VIEWで使う検索キーを調べるには、どうすれば(どんなツール を使えば)よいのでしょうか?
429 :
NAME IS NULL :04/01/14 19:01 ID:fRh2HE+A
seimeiage 田中一郎18 山田花子19 佐藤太郎16 のとき「山田花子」で検索したいのですがどうすればいいのでしょうか カラムを結合して検索…のような事がしたいのですが
山田花子%
431 :
だー :04/01/14 21:02 ID:BBKS7Ph0
だれか おせーてくだせー txtからACCESSにインポートしたいんですけど、インポートエラーで数件Null値 1111111111ならokで、390000000ならnullでアウト なじぇですか?
432 :
429 :04/01/14 23:03 ID:zd2iyRxU
書き方が違っておりました。 sei | mei | age 田中 | 一郎 | 18 山田 | 花子 | 19 佐藤 | 太郎 | 16 の3つのカラムからなるテーブルから検索を行いたいのです おしえてください
>>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'
これでできるけど、
全表走査になるからあまり性能がよくない。
>>433 ありがとうございます。うまくできました。
このような操作は速度的に現実的ではないのですかね?
435 :
まさお :04/01/15 21:06 ID:???
>434 規模によるよ。 レコードが少なければ問題ないし。 どういう用途で使用するか分からんが、普通はそんなテーブル設計はしない。
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 というテーブルをつくるにはどうすればよいでしょうか?
Table1,Table2にどういう操作を加えてTable3に したいのかが意味不明。
CD1||CD2の数を数えたいんだろ。
unionしてからgroup byかけたらいいじゃんか
441 :
NAME IS NULL :04/01/19 16:41 ID:IUDuYCoR
名簿をCD-ROM化したいのですが どのような形式がよいのでしょうか? やりたい事は名前検索程度です HTMLでつくったものをCDに焼けばできると思っていたらできませんでした。
443 :
NAME IS NULL :04/01/20 18:20 ID:naqNDS8Q
これからDB2勉強したいと思ってる者です。(ACCESS歴のみ) Personal Developer's Editionが安くて入手しやすそうなんですが 学習用途や個人用で使うにはどうなんでしょうか?
5点
SQL Server から Oracle9 へ引越しさせるんだが いちばんてっとりばやい方法教えてください
PostgreSQLで質問です。 timestamp型の時間を使って、現在の時刻との差を得るにはどうすればいいでしょうか。 例えば、現在から2ヶ月以上過去のレコードを得たりしたいのです。
MS-Accessで作ったデータベースを使い、データをフォームで更新、追加等していました。 データ数が多くなり、LAN上の他のPCを使って数人で追加、更新作業をしたいのですが・・・ Mysql+PHPで実験してみたのですが、フォームを作るのに手間がかかります。 ファイルメーカーはうまく使えませんでした。 この場合、どういったシステムを組むのが良いでしょうか。
FlashでもVBでもJavaAppletでもなんでもいいと思うけど、 ODBCでリンクしちゃ駄目なのか? PHPとかPerlとかJavaServletとかサーバサイドのものは、概して面倒。 それ以前に、PHPmyAdminやら、かねやんMySQLAdminで追加更新じゃ 駄目なのか?
>>448 そのカラムと、 now() - '2 month'::interval を比較するとか
452 :
448 :04/01/22 00:23 ID:???
>>451 おお。どうもありがとう。試してみます。
メインテーブル 名前 | 所属コード | その他データ ------------------- Aさん | 001 | 納豆好き Bさん | 002 | 醤油派 所属テーブル 所属コード | 所属名 ------------------- 001 | A大学 002 | B大学 (所属コードと所属名は1対1の関係) といった、よくあるテーブル構成の場合 Cさん B大学 朝はご飯 といったレコードを挿入するには 1、所属テーブルをセレクトしてB大学に対応する所属コードを得る 2、その所属コードを元に Cさん 002 朝はご飯 を挿入 といった風に2回SQLを発行しなければならないのでしょうか?
>>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 朝はご飯
>>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の鯖構成です 少し続きます
管理者:新規ユーザを割り当てるサーバがありません。 新規に鯖追加してちょ。 ■e:システム拡張予算なんてない!! 現状のシステムで運営しる!! 管理者:やってられるか?(バカばっか) ユーザわりあてちゃる!どうなっても知らんぞ!? システム:当初の限界を超え全面的にトラブル続き・・・ 管理者:ほれみたことか? ってパターンだな。 なまじRACで無停止システム巻き戻りナシっていうのを狙ったんだろうが。 まあ、某携帯電話屋のような莫大な資金をもった企業ならいざしらず、 たかがゲームメーカーに維持できるシステムじゃねーつーの。 それにな、ありゃ、巻き戻らないんじゃなくて、巻き戻せねぇだけだつーの。 よーくわかったわ、追加ディスクや今後の展開なんてできるわけないわ、 サーバーの維持費で追加開発なんて、費用でるわけないもんな。
追加すんなら、データは巻き戻らないがロストする。 巻き戻る時は基本的にデータがぶっ壊れたんで、バックアップから ヒーコラ、止めて戻しただけ。 これがあの無停止システムですか〜〜〜。 で、この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 「今お勧め、全部入り」 入れてまたまた事例の殿堂入りケテーーーイの予感。 (晒し者ともいう)
まじで、Intel Solaris っていうのが驚きだ・・・・ むしろ売ってませんよ、もうどこも・・・ ノード追加しても系間パスでふん詰まって、問題解決しないじゃん。 むしろノードが切り替わった瞬間に二台で受け切れなくて逝く。 あっ・・・そうか、今回、ノードが縮退して一台になって逝ったのか、もしかして・・ それは予想どころか、わかってたことなんじゃないか? だめだ・・■e・・おまえらMMOむいてない。 つうかあのマジでボラクル10グラムの事例で出たらほんと晒しあげるぞ、■e。 あれは確実に欠陥商品でつよ と二・三の方が申しておられるのですが指摘は正しいのでしょうか
> パラレルの負荷増大パターンにソクーリ。DBが頻繁に切り替え、止まる。 > アプリ側でとりあえず、データを溜め込む。ズンドコ、溜め込み、行き場なし、 > 騙し、騙し、DBを運用。(人の手で監視) > あっ! アプリアボーン。 データアボーン、システムアボーンってパターンかと。 何を言おうとしているのか分からない。 特に「DBが頻繁に切り替え、止まる。」のところ。
あぼーんって覚えたから使ってみたかったんじゃない?
462 :
449 :04/01/22 12:47 ID:???
>>450 自分一人だったらそれでもいいのですが、実際使う人間がスキルが無い為、
フォームからデータ入力できるようにしたいです。
それと、複数のユーザが同時にデータベースにアクセスする、という点で
MS-ACCESSだと不安なので他のものを使おうかと考えていました。
何か良い案がございましたら、ご教授願います。
>449 現状だけ見ると、サーバ立ててMSDE入れてクライアントのAccessからリンクってのがお手軽かもしれない。 でも、今後もデータ数や利用人数が増えていくなら、小手先の対応するよりキッチリお金だした方が幸せかと。 システム屋に発注するもよし、自力で構築するもよし。 要は予算と目的と運用体制によりけり。 市販されてるWebデータベースのパッケージなんかを使ってみるのも良いかもしれない。 サイボウズのデヂエとか見てみれ。
すみません。教えて下さい。 アクセスの顧客名簿のメールアドレスあてに 一斉送信できるようにしたいと考えています。 いちいちアドレス帳に登録せずに済む方法はないでしょうか?
>>464 プログラム組めば?
スパム業者に高く売れるぞ。
467 :
464 :04/01/23 00:15 ID:???
>>465 >>466 レスありがとうございます。
いえいえ業者じゃありません。
PCはワードとエクセル、アクセスがちょこっと
位しかできない情けない者です。
そんなレベルなので、プログラムを組むなんてとても出来そうにないなぁ。
急にやるように言われて、
経費で落としてもいいと言われたので、何か変換ソフトでもあればいいかななんて
思っていたのですが甘かったみたいですね。
>>467 どんなメーラ使ってるのか知らないけど、アドレス帳への登録って
一気にインポートできないっけ?
まあ、それが出来ない or 面倒ってなら、「メール 一括 送信」とかで
ググれば色々ヒットすると思うぞ。
スレ汚しになってしまいましたねスマソ
自分の質問を汚しと言ってもいいだろうが、 回答まで含めて汚しというのは失礼すぎるな。
473 :
NAME IS NULL :04/01/24 10:33 ID:ZVRyeGRT
Microsoft Data EngineとMicrosoft Desktop Engineって同じものですか? どっちもMSDEらしいんですが
社員(社員コード、氏名) 部門(部門コード、部門名) 配属イベント(配属コード、社員コード、部門コード、配属日) データモデリングのスレでこのようなテーブル構成を見たんですが ここから指定日の氏名、部門名の一覧表を作るためには どのようなSELECT分をかけばいいんでしょうか? SELECT 氏名, 部門名 from 社員, 配属イベント,部門 where 社員.社員コード = 配属イベント.社員コード && 配属イベント.部門コード. = 部門.部門コード までは分かるんですが、どうやって指定日の状態だけを取り出すのかがわからないです。 && 配属イベント.配属日 <= 指定日 だと指定日以前の配属が全て表示されてしまいます。
>>474 >>までは分かるんですが、どうやって指定日の状態だけを取り出すのかがわからないです。
>>&& 配属イベント.配属日 <= 指定日
>>だと指定日以前の配属が全て表示されてしまいます。
ネタか?
なんで、最後が「<=」なんだ?「=」でいいだろ。
>>475 ネタでこんな長い文かかないですよ。
「=」にすると、指定日に配属移動があった人の一覧になりますよね。
そうじゃなくて、指定日から一番近い配属移動を拾ってきて
現在、どの部門に配属されてるかを一覧表示したいんですよ。
言葉足らずでした。
477 :
475 :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
今後、現代社会において理想的なデータベースシステムとは何だと思いますか??
林家ペーの誕生日暗唱みたいな感じの、聞き方があいまいでも きちんと答えてくれる人間データベースが一番便利。
それをコンピュータで実現しようとすると DBに自然言語認識用の単語DBが必要になるな。
コンピュータでやる必要などない。
無粋なレスを承知で
>>479 は
>>478 に「曖昧な聞き方するな」と言いたいだけ、だろ?
今後?何年先?
現代社会???
483 :
教えて下さい :04/01/24 21:22 ID:7mE+Fkrm
現代社会です。 実は、授業でACCESS、SQLとかデータベースのことをやってて、その問題に「自分にとって現代社会おける理想的なデータベースとはどのようなものかについて論じなさい」 っていう問題がでたんですけど、どう答えればよいかわからなくて、少しでも何かアドバイス下さい。 お願いします。。
484 :
NAME IS NULL :04/01/24 21:26 ID:fuwEfOec
チビロンゲデータベースってなんですか?
485 :
NAME IS NULL :04/01/24 21:40 ID:fuwEfOec
チビロンゲのおまいらよ、おまいらはいま現在チビロンゲだが、 これからも永久にチビのまま人生を終わることは間違いないだろう。 そこで質問だが、おまいらの生きるはげみは何かな? 答えは なし
>483 そもそも「データベース」って何だ? これに答えられたら助言くらいはしてやれるかもしらん
488 :
教えて下さい :04/01/24 22:58 ID:7mE+Fkrm
>487さん、本当にありがとうございます。参考になりました。 ここからは、助言を参考にして自分で考えてやってみます。 本当にありがとうございました。
>>483 その現代社会とやらの構成員の業種、職種、DBスキルによって理想なんて千差万別なんだが・・・
一歩遅かったか。ま、いいや。考えるって言ってるし。
491 :
お願いします :04/01/24 23:50 ID:yDCqM0Aq
オラクルとサイベースのそれぞれ良い点、悪い点を教えて下さい。 まったくベタな質問で申し訳ありません。 よろしくお願いします
492 :
孫悟羽愚 ◆9B5ELldDBw :04/01/25 16:30 ID:a+lnz2Fb
データモデリングで初心者でもわかる絵図の多い参考書はないですか?
>>483 自分の理想なのに、他人に聞いてどうする。
社会に出ても同じことやってると、3日で窓際だぞ。
ユニコードでの日本語CSVの区切り文字は","ではないのでしょうか。 どうしても洋モノソフトが認識してくれません。
>>495 CSV形式の定義は、カンマ区切りってだけで、あるフィールドのみダブルコーテーションで括る、
全フィールドダブルコーテーションで括るなどは、そのソフトの仕様によって違うはず。
497 :
495 :04/01/27 20:32 ID:???
例えばエクセルでCSVを日本語で作成します。 これで保存するとユニコードではなくSJISで保存されます。 エクセルはユニコードでデーターを扱っているはずなのに。 それでは相手ソフトが読めないのでエディタで読み込んで 無理矢理UTFで保存しました。(秀丸) ところが、このファイルの区切り文字がタブに変換されて しまいました。これを再度エディタをUTFモードで起動 してタブを","に置換しました。 でも、このファイルを対象ソフトもエクセルも区切り文字 を認識せず読み込んでしまうのです。 現在、出先なので帰宅後、全データーを””で括り試して みますが、何か良い手がありましたら御教授願います。
498 :
496 :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の
フィールドにそれぞれ入ってた。
なぜ、タブに変換されたのだろう?
なぜ、俺の環境では発生しないのだろう?(やり方違うのかなぁー)
>>497 Excelだから駄目なんじゃ…
OpenOfficeにしてごらん。
データベースを設計する際の指針や方針がわかる良い書籍はありませんか? 最近、リレーショナルデータベースを作り始めたばかりの初心者なんですが 今後の運用やメンテナンス性、再利用性、拡張性等を考慮して作りたいと思っています。 後になって、あのレコードを追加したいとか、主キーの使い回しがあまり良くないとか 実際に使い始めて、気がつくことが多くて…。 ER図とかいうのを書けばいいのでしょうが、何しろそういう指導をしてくれる 経験者がまわりにいないので、自分で調べてみるしかないので…。
大学の試験で以下のような問題が出るのですが、解き方がわかりません どなたか教えていただけないでしょうか、助けてください・・・ How1:鍋にたっぷりの水と鶏肉を入れて火にかけ、沸騰してから4〜5分ゆでてアクを出し、 ゆでこぼして鶏肉も鍋も洗います。 How2:干し椎茸と木くらげは水につけて戻し、石づきを取ります。 How3:舞茸、えのき茸、しめじは石づきを除いて食べやすい大きさにほぐし、さっと 下ゆで水気をとります。 上記の例で、How1-3までの手順を文書D1-3と考えた場合、 (1)索引語(term)をすべてあげよ。索引語の数はいくつとなるか? (2)D1からD3のTF(Term Frequency)の値を求めよ。 (3)「水」、「石づき」のIDF(Inverted Term Frequency)の値を求めよ。
よく、大学の問題で、とかあるけど、自分でやらないと社会に出てから死ぬよ
>>503 その講義でのお前の出席率を聞きたいなw
506 :
501 :04/01/30 10:54 ID:???
>>502 ありがとう。
早速、昨日本屋に行ってみたけれど、その書籍がなかったので、
もう少し大きな本に行ってみて、確認してみます。
データベース村へようこそ
508 :
NAME 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から 全てのキーに対して「その他のフィールド」を どちらのテーブルから持ってくるか、というクエリです。 教えていただけませんか。 スレ違いだったらごめんなさい。
マルチポストすんな。
Bと結合した結果セットと、(A.キー not in B.キー)と結合した結果セットを UNIONすれ
ソフト板からきました Access2000で複数の列見出しを持つクロス集計の作り方を教えてください [行:顧客住所][行:顧客名][列:商品名][値:売上額]で、 さらに商品は[売上分類]に分類できて[列:商品名]の上に[列:売上分類]を加えたいのです よろしくお願いします。 食べ物 雑貨 パン おにぎり 鉛筆 消しゴム 埼玉県 伊藤 10 5 10 20 埼玉県 鈴木 5 20 5 0 千葉県 佐藤 10 0 0 10 千葉県 吉田 0 5 10 10 というような感じにしたいのですが・・・ よろしくお願いします
512 :
NAME IS NULL :04/02/05 21:32 ID:P83QRT4M
windowsでそのままつかえる、postgreSQLってどこでダウンロードするの?? だれかオセーテー
513 :
NAME IS NULL :04/02/06 06:45 ID:pj6pwlPk
シリアル型で作ったのを setenv('aaa',1); したけど、insertしたら2からはじまってしまいます。 1からにしたいんだけどどうしたらいいでしょうか?
>>512 ダウンロードと言うならば、WinMXとかで探さないと無理。
>>512 雑誌買ってCD-ROMからダウンロードしる。
516 :
NAME IS NULL :04/02/06 13:57 ID:COlkBLBI
最近よく「ハイバネード」って言葉を聞くんですが これ何?
>>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サーバー使用です。
>>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 鈴木
親サーバの下に子サーバ群があってその下にクライアントがぶら下がってる構成で、 子サーバに入れてあるMSSQLDBに別の子サーバのクライアントからODBCで接続できますか?
522 :
NAME IS NULL :04/02/07 18:55 ID:bbb49YXR
練習でリンク集のデータベースを作っています。 あるテーブルで 「ID、サイト名、URL、ジャンル、コメント」 のようにフィールドを作ろうと 考えてます。 例えば、ジャンルに「ニュース」「検索エンジン」「料理レシピ」など 複数指定可能なデータベースを作るにはどのようにすればいいのでしょうか?
>>522 テーブルを分ける。
サイト(ID, サイト名, URL, コメント)
サイトジャンル(ID, ジャンル)
あるジャンルに含まれるサイトを検索するには
SELECT a.サイト名, a.URL, a.コメント
FROM サイト a, サイトジャンル b
WHERE a.ID = b.ID
AND b.ジャンル = 'ニュース'
こう。
>>522 TBL1:ID、サイト名、URL、コメント
TBL2:ID、ジャンルID ← 複数レコード
TBL3:ジャンルID、ジャンル内容
525 :
524 :04/02/07 20:10 ID:???
TV見てる間に既に出てた。。。 ところで、こーゆーテーブルの場合、サイトの一覧(ジャンル含む)を抽出するのはどしたら良い? ↓みたいな感じ。 ID、サイト名、URL、コメント、ジャンル(あるだけ) : ID、サイト名、URL、コメント、ジャンル(あるだけ)
526 :
NAME IS NULL :04/02/07 20:35 ID:Ih9M3gN1
例えばテーブルXXXにnameという列があり、そこに こんどう、おおた、こばち、おにつか、おおばやし、こんどう などのデータがあるとします。ここでおおたという名前を とってくるのは select name from XXX where 'おおた' というのはわかるのですが、”お”と検索されたときに、 名前の先頭に”お”がつく人を全部もってくるには どのようなSQL文が必要でしょうか?曖昧な検索をおこないたい のですが、SQL文が思い浮かばなくて・・・
>>526 select name from XXX where name = 'おおた'
↓
select name from XXX where name like 'お%'
528 :
NAME IS NULL :04/02/07 20:50 ID:yFRs994M
超初心者です。 昨日PgSQLをいれました。 windowsなんで、ネイティブ版をつかってるんですが、 psqlで>psqlっていれたら、Host:・・などがでてきます それより先にすすめません。どうすればいいでしょうか?
ホスト名がまさか日本語だとか…
530 :
NAME IS NULL :04/02/07 22:19 ID:pYErSsrM
SQLものすごく初心者です。練習問題ごときで手こずっています。 テーブル「顧客」には顧客ID、顧客名、エリアコード。 テーブル「注文」には注文ID、注文時間、顧客ID。 テーブル「デリバリ」には(配達が完了した分の)注文ID、配達時間が入っています。 以上からまだ配達されていない注文ID、注文時間、エリアコードを表示させたいのですがうまくいきません。助言をいただけると嬉しいです。
SELECT 注文ID,注文時間,エリアコード FROM 注文,デリバリ 注文.注文ID = デリバリ.注文ID WHERE 配達時間 IS NULL; DBわかんないし、この分自体も試してないけど。 だめならFROM句をRIGHT JOINにすれ。
あ、編集途中で投稿しちゃった。 SELECT 注文ID,注文時間,エリアコード FROM 注文 LEFT JOIN デリバリ ON 注文.注文ID = デリバリ.注文ID WHERE 配達時間 IS NULL;
533 :
NAME IS NULL :04/02/07 22:35 ID:yFRs994M
>ホスト名がまさか日本語だとか… って言うよりまず設定のしかたからわからん perlのテストでlocal上でうごかしてます。 だれかわかるかたpsqlってやったあとhost ってとこになんて書けばいいんでしょうか?
534 :
530 :04/02/07 23:40 ID:pYErSsrM
>>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
536 :
534 :04/02/08 00:39 ID:J9Lh6vIS
535さん!!! うわーーーー!!!できました!!ありがとうございます!!!!
537 :
522 :04/02/08 03:18 ID:???
538 :
NAME 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行でもかまいません)
>>538 >A列で一行ごとに
>B行に一行ごとに
>「え」の列だけは
>C行、D行などに
「行」と「列」の違いが分かりません。
てゆーか、したいこともよく分かりません。
540 :
538 :04/02/08 12:43 ID:???
すみませんでいた・・・ A、Bは列でエクセルで見るところの横です aaaとかは実験試薬で「あ」とかはしまう場所です。
言葉でうまく説明できないなら もっとわかりやすい名前をつけてくれ
>>528 エラーが出るときはエラーメッセージを正確に書くこと。質問するときの基本。
とりあえず
c:\>psql -h localhost
ってしてみれ。
544 :
NAME IS NULL :04/02/08 19:04 ID:+gLYCV0Z
VBAとアクセスでプログラムしてるのですが、テキストボックスに 文字列がはいってなければ、テーブルの列から全件表示して、 もし、文字列が一文字でも入力されていたら、列を調べに行って 最初の一文字が同じならその行を全部ひろってくる。あ で検索 したら、あ から始まるすべての行、い と検索したら い で はじまるすべての行を検索してくるというのをやりたいのですが、 SQL文がわかりません。 曖昧な検索ではlike を使うのがわかったのですが、どうすれば いいのかわかりません。お願いします。
>>544 プログラムでif文で分岐すれば良いと思うんだけど。
テキストボックスへの入力文字列なし
select * from TBL
テキストボックスへの入力文字列(あいう)
select * from TBL where columnA like 'あいう%'
こーゆー事ではない?
546 :
NAME IS NULL :04/02/08 20:40 ID:+gLYCV0Z
ありがとうございます。実は名前などを、誰かがテキストボックスに 入力して、もし何もテキストボックスにはいってなければ、 select NAME from TBL でもいいと思うのですが、100人の名前がNAMEという列にはいって いて、そこから”す”と誰かが検索して、リターンキーを押したら すずき すずむら すぎさわ と最初がすで始まるすべての人を 列挙し、”あ”と検索されれば あんどう あがわ あきた など”あ”で始まる名前を検索したいのです。誰がどんな文字列を 入力するかわからないので、誰かが入力した文字列曖昧検索を したいのですが・・・
>>546 んー、その時々によって検索文字列が変わるって事で良いのかな?
例えばAさんが、”あ”で始まる名前を検索する事もあれば、
Bさんが、”い”で始まる名前を検索する事もある。
だとしたら、入力された文字列をSQL文に組み込んでやれば良いかと。
(VBAとAccessの書式知らないので書き方は適当)
"select name from TBL where name like '" & 入力文字列 & "%'"
↓入力文字列が”あ”だったら。
select name from TBL where name like 'あ%'
548 :
NAME IS NULL :04/02/08 22:54 ID:FOPMa74S
皆さん、バックアップはどうしてますか?。 装置などを教えてください。 今度、小企業のDBを構築することになりそうなのだが、 バックアップってなにを付ければいいのか悩んでます。 DLTを買うほどハード費用もでないだろうし・・・。 そもそもDLTほども必要なのかな?。
550 :
NAME IS NULL :04/02/08 23:05 ID:JysFzodR
postgreSQLのInner Joinで Onの後の 顧客マスタ.顧客コード = 売上リスト.顧客コード なんですが これって左右入れ替えても関係ないのでしょうか? それとも結果が違ってくるのでしょうか?
551 :
NAME IS NULL :04/02/09 09:58 ID:T1wgjSBH
>>547 すんません。便乗質問です。
like述語を使ったあいまい検索って、
DB項目が数字タイプ(9タイプ)の場合は
使用できないんでしょか?
552 :
551 :04/02/09 10:13 ID:T1wgjSBH
551です。追記です。 DB上に数値タイプ4桁で保有している項目に対して 後ろ3桁が‘作業−番号’(「作業−番号」には3桁の整数が設定されている) であるレコードを検索したいのです。 これってlike述語を使えるのかな、、、と。 ネットでいろいろ調べてたら、select left ってな文節を使ってる プログラムもあったのですが、、select right なんてのもあるんでしょか? いろいろ調べちゃいるんですが、ムズカシイ・・・
試して無いのでなんとも言えんが、たとえその手がすべてだめだったとしても、 普通に< > で範囲検索をすればよいのでは? と言うか、ワイルドカードくらい試せよ。
>>552 霜三桁を一致させたいだけなら、
1000で割った余りと作業番号を比較したほうがいいんじゃない?
どっちにしろシーケンシャルに検索しますが。
後ろ3桁が意味をもつんなら、後ろ3桁は別カラムにすりゃいいのに。
555 :
551 :04/02/09 14:27 ID:T1wgjSBH
>>553 範囲検索で上手く行くんですか。。
すんまそん。やり方がわからんくて。。
ワイルドカードは文字列タイプには使えても、
数値項目には使えないって聞いたです。
CAST使って属性変換すれば上手く行くかな。
>>554 1000で除算ですか!
なるほど。そのやり方で検討してみます。
ありがとう御座いました。
つーか、DBのカラムの方をCHAR系に変えればいいのでは? あと、絶対4桁なら、1-3で分けてカラム作っちゃうとか。
557 :
NAME IS NULL :04/02/09 18:04 ID:1y5/Jc6V
>>551 ,552,555
COBOLのことは忘れてください
>DB上に数値タイプ4桁で保有している項目に対して
hoge char(4) って指定してあるんでしょ?
これに数字を入れてもただの文字列としてみなされる。
だからlikeも使用可能。
hoge int になってるなら数値だからlikeは使えない。
「数値」と「数字」は違うってこと。数字は文字列の構成要素の一部。
ちゃんとした理由があってやるならいいけど、
ありとあらゆる数値を文字列にしてたら笑われるよ
パフォーマンスも落ちるし。
あと、left()やright()は関数だから、selectと繋げて読んじゃ駄目。
559 :
NAME IS NULL :04/02/10 22:10 ID:YP0hweY3
560 :
559 :04/02/10 22:16 ID:YP0hweY3
それとこの先にSOHO始める予定があるのですがこのような フリーソフトはさけた方がいいのでしょうか? トラブルがおこる可能性もありそうですが
562 :
559 :04/02/11 00:18 ID:Mtfc6+a4
いや当方マックです
563 :
NAME IS NULL :04/02/11 01:01 ID:6oToWWpK
俺はケツの穴で口笛が吹ける
>>559 べらぼうに高い商用データベースでもバグはあるし、
ハードが完全に逝ってしまったらソフトは関係ない。
大事なのはトラブルが起きたときに、それをカバーできる準備をしておくこと。
フリーでも商用でも構わんから広く使われている奴を選ぶのがキホソ。
566 :
559 :04/02/11 18:26 ID:Mtfc6+a4
>564 バックアップを完璧にしておけということですね >565 なるほど わざわざありがとうございました!!
567 :
NAME IS NULL :04/02/11 18:44 ID:l71aFwrU
どっちが正解??? LIKE述語?LIKE演算子? IN述語?IN演算子? ANDは演算子だってのはわかるが・・・ そもそも述語と演算子の違いをおしえてえろい人
568 :
NAME IS NULL :04/02/11 18:45 ID:5OkzN/0X
はじめまして。 主キーと プライマリキーの違いってなんですか? インデックスはなんとなくわかるのですが・・。 僕は主キーとプライマリキーって同じ意味で 一意になるものかと思ってましたが、 DB2(だったかなぁ) それぞれ別項目として設定できたので 不思議に思いました。 初心者で申し訳ないが教えててくだされ。
すいません 自分は主キーとプライマリキーの違い あとインデックスとは何か知りたいです ご教授お願いします
主キーとプライマリキーは同じだと思います。 一意キーとユニークキーも同じです。 主キーと一意キーは違います。 インデックスは索引です。
>569 ぐぐれば一発です
>550 同じだと思う。 >559 商用ソフトを使った場合、ソフトにバグがあったらソフトメーカーのせいにできるが、 フリーソフトは自分で責任を負う。 >569 同じ
アップルワークスとかに何十万、何百万という言語数 を記録したいのですがデータベースソフトとかって無限に 書き込めるんでしょうか?
>559 でもそれは保証期間を過ぎたり標準で付いてるソフトも大丈夫でしょうか? フリーソフトは止めてやはりアップルワークスにしときました
>573 データ量の上限は製品によって違う。 開発元に聞きたまえ。
データ量の上限は製品によって違うかもしれねぇが ケツの穴にワセリン塗ったら気持ちよかったが ケツ毛が抜けた どうすればいいでしょうか???
577 :
NAME IS NULL :04/02/14 10:58 ID:Lx6j5dZm
リレーションシップにおいて、 あるテーブルのレコードと、別のテーブルのレコードとの間の関係は、 「一対多の関係しか意味を成さない」 という事でしょうか?
578 :
NAME IS NULL :04/02/14 14:36 ID:xSGYb8nL
580 :
NAME IS NULL :04/02/14 16:30 ID:LfAnZ3jc
Microsoft Data Link の(拡張子.udl)プロパティが全部英語になってしまったのですが。 もともとは日本語だったので、その後にインストールしたMDAC2.8が原因じゃないかと・・・ 一応、MDAC2.8日本語版も入れてみたのですがだめでした。 まったく関係ないかもしれないけど、日本語への直し方ってどうするんでしょ?
581 :
NAME IS NULL :04/02/14 16:57 ID:Wk2cgsPJ
>>581 おそらく、電話キャリア、ISP、銀行なんかが
大規模DBの実例だろ。今はRDBだよ。
DNSってツリー型DBって言ってもいい?
ダメ
データベースって何ですか??
ビューを作成することで生じるデメリットってなんですか?
オラクルマスター取得するために勉強しようと思ってるんですが DBは初めてなんでどの本を読めば良いかチョッと検討し辛いので 良い本があったら教えてやってください。
>>586 きちんと仕様書残してないと、あとから見た人がわかりにくい。
まぁ、仕様書無ければ、ビューとか関係なく分かりにくいですが(w
使うほう(プログラマ)からしたら、テーブルとビューの見分けが付かないことが多いから、
命名規則等で一目でビューと分かるようにしたほうがよいかなと。
思いつくのはこのくらいかな。
あんまりデメリットっていうのはないね。
インデクスを使わなくなる(=検索が遅くなる)場合がある。
>>588 さん
そっちで質問しても良かったんですね。
誘導アリガトン
592 :
NAME 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つに分ければ簡単ですが今回はひとつの分で結果を知りたいのです。 どうすればいいですか?
合計と列数が、各列に入るの?
すいません。入るわけ無いですね。 混乱してて訳分からない事考えてました。 別なsql文を作る方向でやってみます。
595 :
NAME IS NULL :04/02/19 18:07 ID:zBwkTOrm
スキーマの管理について質問します。 例えば、○○システムに△△業務と□□業務がある場合 スキーマはシステム単位、それとも業務単位 どちらで定義するものなんでしょうか?
596 :
NAME IS NULL :04/02/19 20:48 ID:uPLG5KY+
(管理)要件によって違うので、一概に「これだ」とは言えません。 ・・・と言ったら話が終わってしまうので、考え方の紹介を。 ファイルサーバに置き換えてみたら、分かりやすいかもしれませんね。 ●少ないフォルダ・ツリー構造でファイルを入れて管理するの? ●細かいフォルダ・ツリー構造でファイルを入れて管理するの? 細かい話が分からないので何ともいえませんが・・・ 例えばこんな感じ? ・システム単位 メリット:小さいシステムなら管理も簡単で楽。 デメリット:業務毎の管理が必要となった途端、作り直しor別途 対応方法を検討。 また、将来システム自体が大きく膨れ上がった時、 分けが分からなくなるかも。 ・システム内の業務単位 メリット:細かい管理や権限等が可能。 デメリット:将来システムや業務が多岐に渡った時、管理手法等が 明確になっていないと、分けが分からなくなるかも。 また、大きくなる予定がまったくないのであれば、 細かく分けた事がかえって面倒になるかも。 これはあくまでも一例です。 要件定義等をしっかり行って、判断して下さい(当然ですが)。
597 :
NAME IS NULL :04/02/20 01:01 ID:VBBuMa2j
>592 グループ関数使うなら、GROUP BY汁。 こんなこと基礎中の基礎だがな。
598 :
NAME IS NULL :04/02/21 02:05 ID:McU5FQ7p
ユンソナとBoaは同一人物なんでしょうか??
599 :
NAME IS NULL :04/02/21 12:07 ID:2VfwJzan
>>599 お前うざい。ここは初心者スレだ。回答した
>>597 はエラいが
お前は自分より知識が無い香具師捕まえて、自分がエラくなったと勘違いするな。
まー若い技術者に多い傾向だがな。もーお前は書き込むな。
Accessのmdbファイルのような感覚でファイルを用意するだけで、 OSの種類を問わず、SQLによる問い合わせが出来て、様々なプログラム言語 から使えるRDBMSってありませんかね?
Firebird
603 :
603 :04/02/22 01:27 ID:iHnWQDXa
mysqlで列にファイルを格納したいのですが、型はどうなりますか?
604 :
NAME IS NULL :04/02/22 01:31 ID:FLNmHELy
605 :
NAME IS NULL :04/02/22 01:34 ID:yReLcrPh
aa
606 :
NAME 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〜 などを入れてもなかなかうまくいきませんので・・・
607 :
NAME IS NULL :04/02/22 02:16 ID:+p+S/+aq
テーブルをファイルから読み込むコマンドは何ですか? ちなみにMySQLです。
610 :
NAME IS NULL :04/02/23 22:00 ID:YkGukJhb
PDAでデータベースを操作するには ファイルメーカーしかないのでしょうか? もっと安上がりな方法はないですか?
PDAにも色々ありますが。
612 :
NAME IS NULL :04/02/23 23:08 ID:YkGukJhb
>>611 どんなPDAでもいいのですが。
ソフトにあわせて選びます。
でもなるべく安上がりで・・・貧乏人なので
613 :
NAME IS NULL :04/02/24 02:39 ID:VAAFgod9
黒船という電話帳データベースのデータファイルを csvファイルに変換したいのですが、可能でしょうか?
616 :
NAME 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文を直して実行するか わかりません。どなたかお助けください、お願いします。
>>616 名前と番号が対応してるなら、これでどう?
SELECT 名前 FROM DB
GROUP BY 番号, 名前
ORDER BY 番号
618 :
NAME IS NULL :04/02/25 00:05 ID:g+IzIXwj
>>616 SELECT DISTINCT 名前, 番号 FROM DB ORDER BY 番号
ではいかんの?
読み取り一貫性機能があるのはoracleとposgreだけですよね? MYSQLとかはリードロックとか言うので補ってるの?
undoセグメントやトランザクションIDが無いMYSQLでどうやって読み取り一貫性を 保証してるの?
621 :
NAME 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
単純なINSERT。 追加クエリを作ってSQLビューを見なされ。
623 :
614 :04/02/25 20:34 ID:8eI1sjTu
ごめんなさい。 質問の仕方が悪かったのですが、 独自形式→csvへの一万件づつの出力は可能らしいのですが、 一気に全部やってしまいたいのです。 ご存じの方教えて下さいませ!!
624 :
NAME IS NULL :04/02/25 20:38 ID:Eos5l9JS
>>622 全データを一度にInsertする方法はないですか?
AをSelectして、一件ずつInsertをループで廻したくないです。
>>624 622じゃないが、なぜ一件になるというんだ?
624はコボラー! 一遍SQL勉強して出直して来いっ! 仮にただの初心者でもこの程度のことも調べられないようじゃDBはあきらめれ!
627 :
626 :04/02/26 07:57 ID:???
すみません。初心者版でしたね。 insert into B(id,name) sekect id,name from A でもこんなき本的な質問をしてくる人は永遠に初心者から脱却できないのでは?
628 :
NAME IS NULL :04/02/26 16:19 ID:wxTHD3XN
MS-ACCESS でデータベースを組もうと思っているのですが、 その中で、メールの自動送受信もやらせたいのです。 VC++にてメール送受信の経験があるので、VC++でその部分のみ 別モジュールで作成しておいて、MS-ACCESS から呼び出そうと思っています。 効率悪いでしょうか? VBA覚えて組んだほうが良いでしょうか? 普通はこんなことしないのかな?と思ってお聞きしました。
629 :
NAME IS NULL :04/02/27 09:25 ID:fOMNKE4M
受発注システムとかの伝票番号の管理って普通どうするんですか? 伝票番号を管理するテーブルを作成するのか、 select max(伝票番号) from 受注テーブル 見たいにするのか、 もしくは他に標準的な手法があるのか、 どうなんでしょうか?
「シーケンス」とか「オートナンバー型」とか
例えば「ユーザテーブル」と「都道府県テーブル」があったとします。 ■ユーザテーブル 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を使っています。
>>629 俺は伝票番号とかの場合はテーブルに持たせて管理してる。
たまに顧客マスタとかも自動で採番してくれって言われたときは
SELECT MAX()使う時もある。
オートナンバーとかは形式や桁数を揃えたいと言われる場合が多いので
あんまし使ってない。
伝票番号の形式とかが一意になってりゃかまわないのなら
シーケンスとかオートナンバーでいいんじゃないかな
633 :
NAME 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を書いたんですが、エラーが発生してしまいます。 どこが悪いかご指摘お願いできないでしょうか。お願いします。
636 :
NAME IS NULL :04/02/28 06:03 ID:41+ty0li
MySQL+PHPでWebデータベースを作成しようと考えていますが、 品物:約5000件 内容:ID/値段等1つにつき10個程度 で容量何MBくらいになりますか? それによって、レン鯖借りようと思います。
637 :
NAME 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)への同時アクセスは可能なのでしょうか? 以上よろしくお願いいたします。
>>637 Oracle Generic Connectivity
Oracle Transparent Gateway
というキーワードでGoogle先生へ。
639 :
NAME IS NULL :04/03/01 13:07 ID:0XSPB7/E
個人情報、ユーザーID、ユーザーパスワード等をWeb上でユーザーが管理できる サーバーサイド言語ベースのデータベース管理ソフトウェアはありませんか? アカウントの管理はXoops見たいに出来るのが理想です。 アカウント制で提供されるコンテンツサイトの構築が目標です
640 :
NAME IS NULL :04/03/01 16:24 ID:bq3e7zoX
641 :
NAME IS NULL :04/03/01 17:47 ID:CASaEQQr
MSDE使ってみたけどメモリーは食うわ、遅いわでクラクラしてます。 チューニングってできないんでしょうか? それともSQL Serverを買うしかないんでしょうか?
基本はSQL鯖なんだからそんなに変わらんでそ。 っつーかメモリはどんだけ積んでるのよ?
643 :
NAME IS NULL :04/03/02 10:57 ID:alMmDa3l
>>637 返答ありがとうございます。
IBMのIAサーバーでメモリは4GBです。テストなので1ユーザーがちょこちょこ
アクセスしているだけなのですが、メモリー使用量がどんどん増えていって
既に1.2GBです。これってメモリを開放する方法はないんでしょうか?
このままではいつか死んでしまいます…
以前使っていたOracle 8iではここまで酷くなかったんですが、MSDEって
こんなもんなんでしょうか?
Tmaxのことはどこで聞けばいいですか?
>>645 dクスでつ
いや、関連スレ立ってないかなと思って聞いたんですよw
イイのか。
なんだ、この雰囲気。
あ、2GBで止まるってのは2GB以上は使おうとしないってだけで Serverが死ぬわけじゃないぞ
654 :
NAME IS NULL :04/03/03 13:46 ID:62Ynbuxg
SQL Server 2000のデータをAccessのレポートで印刷したいのですが 参考になる書籍やサイトはありますか? よろしくお願いします。
一番簡単なのはAccessからSQL鯖にリンクテーブル張る。 そんだけ。
656 :
NAME IS NULL :04/03/04 02:05 ID:KiYptLa2
SQLServer2000StandardEditionプロセッサライセンスを購入しようかと思ってます。 でもちょっと高いので悩んでます。 WEB用なのですが(アクセス数&接続数多し)皆さんならどうされますでしょうか。 ご教授頂けるとうれしいです。
階層・ネットワーク・リレーショナル・オブジェクトなどの データモデルがありますよね。リレーショナル型の場合はERDを使えば 表とそのまま対応していて容易にマッピングできますが、階層型や ネットワーク型の場合にもERDで図式化した物をマッピングするのでしょうか。 それとも、階層型には私の知らない最適な図式化技法があるのでしょうか。 レベルの低そうな質問ですいませんが、ご教授くださいませ。
658 :
NAME IS NULL :04/03/04 13:46 ID:WItZ+g8R
SQL文のサニタイズについて皆さんはどうやって対応していますか? 言語やDBによっても違うと思うのですが、一般的にはどうだっていうような例があれば教えてください。 ちなみに私はVB+SQL鯖です。
659 :
NAME 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件分のみ取り出す」という事が出来るのでしょうか?
660 :
NAME IS NULL :04/03/05 00:16 ID:Dqvtfi6/
>>658 動的にSQLを組み立てるんなら危険文字をメタ文字にして打ち消し
SQL-Serverは知らんけどOracleなら'→''
どこに何を埋め込むかにもよるけど・・・
パラメタライズされた静的カーソルなら心配いらんでしょ
661 :
NAME 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が多発するので・・・) どなたかご教授下さい。よろしくお願いします。
>>661 EXTENT MANAGEMENT LOCALは
「ローカル管理表領域」でGoogle先生に聞く。
UNIFORM SIZEは、あなたが管理するデータベースが
一度のソートで使う領域を想像して決める。
でも、あまり悩まずに1MB決め打ちでもよいと思う。
663 :
661 :04/03/07 23:06 ID:???
>>662 遅くなってしまいましたが、ありがとうございます。勉強になりました。
まずは悩まず1MBにしました。
664 :
NAME IS NULL :04/03/08 01:19 ID:dsLr0VBl
エンティティ図を作れるフリーソフトはありませんか?
インデックスについて教えて下さい。 table T( A number, B number, C numver, C varchar) primary key(A,B) のテーブルがあるとします。 Aにインデックスをつけて、検索条件フィールドA,Bで検索した場合、 Aにつけたインデックスは有効なのですか? それとも、A,Bに対するインデックスを作成しなければなりませんか?
MySQLをXPのコマンドプロンプトで使ってるんですが、 表の横幅がでかくなると見れたもんじゃなくなってしまいます。 DOS以外の方法とかで何かありませんか?
667 :
NAME IS NULL :04/03/09 14:57 ID:OjzGnpVL
質問があります。 皆さんは、とても博識なようですが どこでそのような知識・技術を身につけたのですか?
このスレには100人の住人がいるが、 それぞれの人は一つずつしか知識を持っていない。 数人のすごい香具師が全部回答してると思ってたら大間違い。 おまいも一つでいいからみんなの役に立つ回答を汁。
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
>>665 Aで定義したインデックスは使用される。
しかし
A,Bで定義したインデックスを使用した方が
理論上は高速になる。
>>669 俺もSQL勉強しはじめなんで自信ないわけだが、
UPDATE tablename SET value1='ok',value2='ok',value3='ok'
WHERE ((value1='yes') AND (value2='yes') AND (value3='yes'))
な気がする。試してない。
>>672 レスありがとうございます。
とりあえず試してみます。
674 :
NAME IS NULL :04/03/09 22:30 ID:+hsyH+MS
直感的にダメすぎて理由を言いづらい・・・そんな疑問です。 「SYSDATEを使った機能テストをしたいからDBのシステム日付=UNIXサーバの時間を変えろ」 とかいう開発者がいるのですが、どーやって断ればなっとくするでしょうか? (=そーゆーいかにもキケンな行為をすればどんな障害が待ち受けているか?)
はじめまして。 私は本当にデータベースの基礎も知らない初心者なんですが、 仕事でデータベースを作らなければならない事になってしまいまして 何から手をつけていいのか全くわかりません。 書籍なども探してみたのですがやはりどの本を購入していいのかも 分からない状態でした。 そこで初心者でも作れるようなデータベースの入門ソフト 等はありませんでしょうか? できればweb上に置いて誰でもすぐ検索できるようなものにしたいのですが・・ どなたか教えていただけるとありがたいです。 長文、乱文、失礼しました。
>>672 全部当てはまる行に関しては大丈夫みたいですが、
一部の列だけyesの場合は駄目みたいです。
>>676 言ってることが違うじゃないか
>value1からvalue3の列に「yes」が格納されている場合に
こう言われたら普通andだと解釈する。
andをorにすればやりたいことはできるだろう。
>>674 SYSDATEの代わりに固定でも変数でもいいから
別の日付を突っ込んでやればいいだけじゃないの?
実際日付を一気に進めるとどうなるんだろう
cronがプロセスを大量生成したりするんだろうか?
679 :
NAME IS NULL :04/03/10 06:35 ID:upptcX22
>>675 データベース単体だけだとWEB上に置いても検索とかするのはしんどいと思われ
>>674 テスト用にサーバーを一台買わせる。
ていうか、テストサーバーで開発してないの?
>>675 データベースは何使うの?
システムは何(言語)で開発するの?
それがわかれば自ずからやるべきことが見えてくると思うが。
>>669 UPDATE HOGE SET
VALUE1 = DECODE(VALUE1, 'yes', 'ok' VALUE1),
VALUE2 = DECODE(VALUE1, 'yes', 'ok' VALUE2),
VALUE3 = DECODE(VALUE1, 'yes', 'ok' VALUE3)
by oracle
>>677 すいません、回りくどい説明でそうとっちゃいますよね、申し訳ない・・・
keyの列を除いて、noはそのままでyesが格納されてたらokにしたいんです。
>>682 検索した所 MYSQLだと無理みたいですね、便利だなぁ・・。
ifを使うべき場所に使用するみたいなので、いいヒントになったかもしれません。
>>674 「とかいう開発者」の言ってる事は正しいと思うが。
>(=そーゆーいかにもキケンな行為をすればどんな障害が待ち受けているか?)
↑おまいの「断る」行為のがよっぽどキケンと思われ。
断った後、どうするつもりだ?
テストしないのか?
業界人ならアリエナイ。
>>680 の言う通り。
最悪、
>>678 の方法か。
>>675 DBなんてのは、基礎さえ解ればどんなのでもいけると思うぞ。
だから
>>681 のいうとおり、何を使うか決めて、それの参考本買えばヨシ。
>>683 updateを3回書いてtransactionで囲っておく。
同じrecordが3回updateされるが
データが多くなければ問題ないでしょ。
>>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 先に書かれた…
689 :
NAME IS NULL :04/03/11 00:05 ID:4Xo5yRZU
質問ですが私が今まで見た論理ER図、物理ER図って日本語表記(論理カラム名)、 英字表記(物理カラム名)しか違わなかったんですが、違いはそれだけでしょうか? なんか両方見比べるのがめんどうだと思っていたのですが、 Visio でリバースすると論理名、物理名両方を併記するオプションがありました。 こっちのほうが見やすいと思ったのですが、規格とかがあるのでしょうか? 併記するのは一般的ではないのでしょうか? 論理、物理に分けるのは DB 設計過程で必要なだけ?
690 :
675 :04/03/11 00:28 ID:???
>>679 ,681,684
レスありがとうございます。
とりあえず参考書を購入してじっくり勉強してみることにします。
作るのは今すぐって訳でもないのであせらず行きたいです。
691 :
NAME 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
692 :
NAME IS NULL :04/03/11 03:08 ID:uNfxyU9o
>>691 おい、俺はケツの穴でジャンケンができるが
俺と勝負するか
>>687 >>688 それかないような気がしてきました。
検索してみたり、それを参考にしていろいろ試してみたんだけど
どれもうまくいかなかったです・・・。
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;
>>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発でやるよりも複数に分割したほうが早い場合もあるから
よく検討してみるべし。
>>695 こうゆうやり方もあるんですね、
よく検討してみます。
ありがとうございました。
697 :
NAME IS NULL :04/03/12 11:34 ID:4cBS831l
どうしても思い出せないので教えてください・・ ○○ into TABLE values('A003','200'); 確かこのようなsqlだったと思うのですが、 キーの値を見て そのキーが存在しなければinsert処理 そのキーが存在すればupdate処理 というような事をsql一文でできたような気がするのですが どのような構文だったでしょうか・・
699 :
NAME IS NULL :04/03/12 18:54 ID:DSJIL3tD
MySqlにAccessで作成した.mbdファイルをインポートもしくは変換する上手い方法はありますか? Accessでエクセルに落としてからすると、フィールドを1つ1つ登録し直さなければいけないので面倒です・・・。
700(σ´Д`)σゲッツ!!
>>699 CREATE文ってExportできなかったか?
>697 9以降の Marge 文 詳しくは、ぐぐるべし。
702 :
NAME IS NULL :04/03/16 00:25 ID:ckSh60+r
DBトリガーについて、 新しく挿入された行だけに対して、指定の属性に値を自動的に生成するトリガー ってどう作ればいいの?
そんなことより聞いてくれよ 坊さんの絵を描こうとして 「僧衣」でぐぐったんだ そしたら一番上が
705 :
NAME 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のため、副問い合わせは使えません。
GROUP BY で3日分取り出して それぞれの日付で取ったらいいじゃん 副問い合わせが使えないなら複数回必要かな
707 :
705 :04/03/16 13:12 ID:???
group by ? distinctじゃねーのか? それよりも、記事日付マスタ を作ればいい。(正規化すれ。) 20040310 20040312 20040313 20040315 こいういうテーブル 記事追加時にマスタに記事日付 が無ければ追加する。 その記事日付マスタテーブルから 最新3レコードを対する記事を 抽出すれば良い。 そうすれば、高速化にもなる。 (最新3レコードデータを抽出するのに トランザクションデータを全部舐めなくて済むから。)
709 :
708 :04/03/16 13:57 ID:???
group byは遡って最新日付を 取得するってことか。 スマンカッタ
711 :
NAME 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で可能でしょうか?
>>711 上のは、UNION使えば出来る。
下のは、、、出直してきます。
>>711 の下
select a,sum(b) from (select * from T1 union all select * from T2)as foo group by a;
>>712 上が出来りゃ、下の答えも出たも同然。
ま、がんがれ。
714 :
712 :04/03/16 23:33 ID:???
>>713 おー、なるほど。
考えれば出来そうだけど、そーゆーのがパッと思いつけるよう頑張ります。
715 :
NAME IS NULL :04/03/16 23:51 ID:Ev2MuI6C
PL/SQLの変数の中に入っている値が文字か数字かを 判断する方法はありますか? 型変換の関数を使用してうまくいくかどうかを判断すればいいのかなと 思うのですが、手元にORACLEを実行できる環境がないため検証が出来ません。 大変申し訳ございませんが、ご教授いただけますでしょうか。
>>713 俺ならこう書くな
select T1.a,T1.b+T2.b
from T1 inner join T2 on T2.a = T1.a
個人的にunion使う機会がほとんどないので
こういうほうが先に思いつく。
>>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.
>>716 713じゃないが、オレも最初それ(
>>716 )
を思いついたが、
どちらかのテーブルにしか
無いA(キー)の値のレコード場合、
完全外部結合(full outer join)
をしなければならない。
(後COALESCE等でnullを0と見なさないとおいけない)
完全外部結合をサポートしていない
DBMSもあるから、
>>713 が無難かもね。
719 :
NAME 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 がもっとも遅いとか・・・ それとも、順番は関係ないでしょうか? 宜しくお願いします。
>>720 あるといわれているが、オプチマイザ次第かな。
当然各列に対応するインデックスがないと無理だが。
で、順番が逆。左から右へだ。
722 :
教えて君 :04/03/17 17:00 ID:YJKO+CRh
すいません、おしえてくださいいいい MSSQL使用でPHP4.3.4の環境ですが Insertでオートインクリメント生成されたIDを取得したい場合、 SCOPE_IDENTITY ()が対応できないらしいのですが、 どなたか対応方ご存知なかたいらっしゃいますか?
すみません、教えてください。 テーブル内の全データを削除する場合、ROLLBACKが必要なければ、 TRUNCATEが一番効率いいんですよね? 全データではなくて特定の大量データを削除する際にも似たような 処理は可能でしょうか? DBMSはOracle7.2で、10万レコードくらいのテーブルから1万行くらい を削除したいのですが、外部キーとしてこのテーブルを参照している テーブルが多くあり(カスケードで削除されるようにしてあります)、 一度に削除しようとすると時間がかかる上によくハングアップします。 ROLLBACKの必要はないので一気に削除したいのですが…。 こんな基本的なことも知らないでデータのお守りをしているのは 恥ずかしいのですが、どなたかご教示いただけませんでしょうか。
724 :
NAME IS NULL :04/03/17 19:18 ID:2N7Ppo+f
その場合はTruncateは使えない。 そういう時はPL/SQLで100件づつとかでCommit入れて削除している。 Cursor定義して、それから一見づつフェッチ・削除そのときに変数で件数カウントして 100件になったらCommitいれて、フェッチが終わるまでループ。 こんな感じ。
725 :
NAME IS NULL :04/03/17 19:46 ID:A06Uz+sP
>>721 ありがとう。
カーソルっていまいちわかんないんだけど、
静的カーソルと動的カーソルってどう使い分けるの???
726 :
723 :04/03/17 22:24 ID:???
>>724 やっぱりそうするしかないんですね。
今後は不要なデータなのでトランザクションに入れずにざっくり削除したいと
思い、TRUNCATEに相当するような命令がないか質問させていただきました。
早速に教えていただいてありがとうございました。
727 :
NAME IS NULL :04/03/18 12:31 ID:v4tozHtw
零細製造業の我が社でも データベースもどきを作ることになってしまいました。 1つの受注品目に、15点ほどの項目を入力していきまして (通し番号、金額、作業内容など・・・)最後の項目には 図面や写真データを入れたフォルダにリンクさせたりします。 エクセルで事足りそうなのですがどうでしょうか? どうかご教示くださいませ
>>726 カスケード削除対象のテーブルも
truncateしてからtruncateする
729 :
728 :04/03/18 12:45 ID:???
ん? >DBMSはOracle7.2で、10万レコードくらいのテーブルから1万行くらい >を削除したいのですが、 truncateは全件削除しかできないはずだが...
730 :
NAME IS NULL :04/03/18 15:28 ID:qqtApBiw
>728 よく読め。 >全データではなくて特定の大量データを削除する際にも似たような >処理は可能でしょうか? と聞いてるだろうが。
そりゃ悪かったな、それくらいで 怒るなよ、便秘か? バッファキャッシュが がデフォルトままになってねーか? その辺りをチューニングすると時間やハングが 改善される(こともある)ぞ。
>>731 その線(便秘のことではないw)大だな。
カスケード行合わせてもたかが数万件だろ?
1レコードがどれだけあるかは分からないが、
1レコード=1kバイトとしても数十MB...
一回、削除対象のサイズを調べて、メモリ管理周り
設定を見てみたら?
チューニング済みなら、SIMM積んでるマシンとか?
733 :
723 :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 で状態をみると、インスタンスが停止となります。毎回、手動でインスタンスを開く にしているのですが どうすれば自動的にインスタンスを開くことが出来るでしょうか? サーバーの再起動するたびに、データベースが停止状態になるので何とかしたいと考えています。 (データベース構築時にはこんな現象はなかったんですが。。。。) よろしくお願いいたします。
>>734 スタート
→ プログラム
→ Oracle - OraHomeXX
→ Configuration and Migration Tools
→ Administration Assistant for Windows NT
→ データベース
→ (データベース名)
→ 起動/停止オプション
→ サービスが開始されたときにインスタンスを起動します
736 :
NAME 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再起動時は大丈夫のようです。
と思いきや、だめなときがあります。
うーん。。。。。
738 :
NAME IS NULL :04/03/19 19:11 ID:RTnK1vPT
初心者です。 ORACLE8で"LEFT JOIN","RIGHT JOIN","INNER JOIN"って使えるのですか? 基本的な事ですいません。
739 :
NAME IS NULL :04/03/19 19:19 ID:NdS6mGsA
tes
741 :
NAME IS NULL :04/03/19 20:41 ID:Fs4c83DI
ストアドプロシージャを使って、取り出す列名を変数で指定できませんか? SELECT @ColName from xxx とかやると、変数の値がそのまま出てきちゃうんですよね。 本当は、xxxテーブルの@ColNameが示す列の値が欲しいのです。 よろしくお願いします。 ちなみにSQLServer2000でテストしてます。
742 :
738 :04/03/19 20:47 ID:RTnK1vPT
>>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)から変更
うーん。ネットワーク上にドメインサーバーがきたからなのでしょうか???
ドメイン参加させてないんだけどなぁ。。。
746 :
NAME IS NULL :04/03/21 13:58 ID:Wt84xwBZ
顧客リストを扱うデーターベースの制作を依頼したのですが 製作者が勝手にデーターベースから情報を抜き取ることって できるのですか?
>>746 可能。インターネットと切り離していてもソーシャルな方法はいくらでもある
748 :
NAME IS NULL :04/03/21 14:33 ID:Wt84xwBZ
>>747 ありがとうございます。
どのような対策をすればいいでしょうか?
749 :
NAME IS NULL :04/03/21 20:53 ID:hr74spv5
メモリを増設したのですが、パソと合ってるのか、合ってないか わかりません。 PCとメモリの相性がわるいと、どうなるんですか? どなたかどうかおしえてください(+_+)
750 :
NAME 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に詳しい方、よろしくおねがいします。
751 :
NAME 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)
754 :
751 :04/03/22 12:40 ID:7lgsYoUs
>>753 さん
レス、ありがとうございます。
rootでデータベース起動&rootでログインしてDB・テーブル作成しています。
MySQLは、初めてなもので・・・。
確認事項や対処法・ググるキーワードなどを教えて頂ければと思います。
755 :
753 :04/03/22 16:25 ID:???
756 :
750 :04/03/22 17:31 ID:???
判明いたしました。 作成したmdbファイルをAccessのツール⇒データベースユーティリティで 『最適化』や97、2000への変換をするとVisualBasic6.0で読み込めるようになりました。 ようするに、私が今まで作成したファイルはAccess2002形式(OfficeXP)だったので 古いソフトウェアであるVB6.0が対応していないものと思われまする
>756 VBというより、コントロールのバージョンでは? その本で何をどうしてるかワカランので何とも言えんが。 っつーか1999年発刊の本でベンキョすんのはやめたほうがよいかと。
758 :
751 :04/03/22 22:55 ID:7lgsYoUs
>>755 さん
ありがとうございました!
無事解決しました。
あのスレッドを参考に、いろいろぐぐってやっと、自分の環境でも動くようになりました。
どうもありがとうございました。
759 :
NAME IS NULL :04/03/23 09:56 ID:84jO3Rlp
質問です。 Hirdbのver7です。 available file sizeってあるじゃないですか? あれのサイズってどういう基準で決まるんでしょうか? まったく同じ構成で作っても値が変わることがあるし、 多分開き領域の断続が原因だとは思うんですが、それを解消することとかってできますか? なにぶんDBを触って2週間なんでわからないことだらけです(´A`) だれかが助けてください。
760 :
NAME IS NULL :04/03/23 17:18 ID:GUHopfM3
初めて書き込ませていただきます。 質問なのですが、UNISYS2200/OS1100 と言うちょっと前の環境で動いていた DBの名称が分かる方いらっしゃいませんでしょうか? 7年程前によく使用されていたDBです。 ご存知の方がいらっしゃいましたら何卒ご教授下さいませ。
VC++6とSQLServerでデータベースクライアントを作っているのですがデータのロックってどうやればいいですか? データベースは初めてでよく知らないのですが複数のユーザが同時にアクセスする可能性があるテーブルのデータを更新するときはロックしてからでないとだめなんですよね?
762 :
NAME IS NULL :04/03/23 18:09 ID:onXGrYzp
Solidと言ったデータベースを知っていますか? ODBCが欲しいのですがどこにあるのか知っている人教えてーーー! ください。
763 :
NAME IS NULL :04/03/23 22:13 ID:OVhVMybW
知っている人いたら教えてください。 有名なRDBのうちオラクルとSQLsever以外、MySQLとPostgreSQLではどちらがよく使われてるんでしょうか。
765 :
NAME IS NULL :04/03/24 20:44 ID:OQAbVJ25
windows2000で、mysqlをはじめたのですが、 バッチ処理をさせる為のバッチファイルはどこに置けばいいの?
766 :
NAME 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文で出力したいと思っています。 どなたかご教授ください。 よろしくお願いします。
>>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
768 :
766 :04/03/25 09:56 ID:???
769 :
NAME 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 どなたか、解決法お願いします。
使ってるDBの名前とエラーメッセージを書いてちょ
771 :
NAME IS NULL :04/03/30 17:44 ID:98KvAINH
使ってるDBはSQL Server です。 エラーメッセージは、 サーバー : メッセージ 137、レベル 15、状態 2、行 12 変数 '@TABLENAME' を宣言する必要があります。 と出ます。 よろしくお願いします。
772 :
NAME IS NULL :04/03/31 10:37 ID:x9mAGlVO
a1,a2,a3というカラムがあって、a1とa2が同じでa3が最大のものを選択する ことをsql文だけでできるのでしょうか?
774 :
772 :04/03/31 14:25 ID:x9mAGlVO
どのようなSQLを発行すればいいのでしょうか?
>>774 >>772 の説明だと2通りのとらえ方が出来るのだが、
SELECT a1,a2,MAX(a3) FROM t1 GROUP BY a1,a2;
SELECT max(a3) FROM t1 WHERE a1=a2;
多分前者だろうと思うけど。
776 :
NAME IS NULL :04/03/31 22:03 ID:Sgv+rTWa
超初歩的な問題で悩んでます。 DB(Access)を作成しようと思うのですが、テーブル設計時に コード(ID)にあたる部分を文字列型にした方がいいのか、 数値型にした方がいいのか・・・。 実用時にはコードは3桁と決まっています。 文字列型にすると昇順/降順の並び替え時にそめんどくさいし…。(表示用フィールドを作ったり) 数値型にすると桁数の管理がこれまた大変だし・・・。 どうやるのが一般的なんですか?
>>769 executeコマンドでupdate文を動的SQLにすれば動くはず。
使い方はBooksOnline見てくれ
778 :
ぬるぽさん :04/03/31 23:52 ID:xQP6nkp+
Access2000のおバカな質問です テーブルが二つあって、つくりは全く同じです。 片方のテーブルには、もう片方にはあるレコードがいくつかありません。 その欠けているレコードを簡単に追加する方法はありませんか?
779 :
NAME IS NULL :04/04/01 00:48 ID:waMFQreO
二つに分けている意味がわからん。 同じ構造で同じデータなの?
780 :
ぬるぽさん :04/04/01 00:55 ID:m25hwLzD
>>779 正確に言えば、データに動きがあったモノだけ抽出しているので、
0なものが抜けているんです
手動でやるなら、クエリーで一致しているのを引いて、
残りをぶち込めばいいんですけどね
>>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 ありがとうございます
明日試してみます
783 :
NAME IS NULL :04/04/09 20:33 ID:sc8M03xd
SQLserver2000を自習したいのですが、ソフトが高すぎて・・・・。 何かいい方法ないですか?
785 :
783 :04/04/09 22:09 ID:???
787 :
783 :04/04/10 02:30 ID:???
サインインがうまくいかないよ??? パスポートないんだけど、発行の手順で戻ってしまいます。。。
788 :
783 :04/04/10 02:34 ID:???
789 :
783 :04/04/10 02:54 ID:???
うまくいきました。 すいません。。。。。
790 :
NAME 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文は使えないんでしょうか?
困っているので質問させてください。 企業間の取引で、相手先からデータをもらおうとしています。 ヘッダー行とかついているCMTファイルをもらうのが一般的のようですが、 PCで読めるテキスト形式のファイルでもらったのと比べて どういうメリットがあるのでしょうか? またテキストでもらったものを、ホストで読もうとする場合、 どういうプロセスが必要になるのでしょうか? こういったインターフェイスに関する知識を身に付けるため、 本屋で参考書を買おうと思うのですが、、 データベース関連の初心者の本を探せばよくわかりますか?
>>791 >またテキストでもらったものを、ホストで読もうとする場合、
コード変換が必要。
793 :
791 :04/04/11 10:28 ID:???
>>792 ありがとうございます。
ちなみにコード変換というのはどうすればよいのでしょうか?
ユーザー部門でもできるものでしょうか?
データベースというか、Windowsの知識や基本的なプログラミングの知識が 欠けているように思えますが?
>>794 Windowsは間違えで、OSだったーよ。
>>793 どこのホストなの?
環境書かないと教えようがない
797 :
791 :04/04/11 15:13 ID:???
>>796 ホストはIBMのMVSとかいうやつみたいです。
僕はユーザー部門なので、どういうファイルをもらってどう渡すかだけなんですが、
CMTとかさっぱりわかんなくて、ここで聞いています。
理想はEXCELファイルを渡せば後は勝手に処理してくれるという方法なんですが、
それはさすがに無理っぽいので、せめてテキストファイルにしたら、
ホストの処理も可能になるのかなあと考えました。
よろしくお願いします。
>>797 うちExcelで貰って
CMTで返してるぞ
さすがにHOSTでExcel読めないから手でCSVにしてるけどな。
ホストのエミュレータにCSVの読込機能ついてるだろ?
外字とか化けるんで気をつけろ。
>>798 ,
>>799 ありがとうございます。
とりあえずCSVなら大丈夫そうですね。
ついでに聞いちゃいますが、
CSVでも保存形式がいろいろありますよね。
固定長ファイルでデータを渡すのと、カンマ区切りで渡すのとでは、
ホスト側の作業者にとって、何か違いはありますか?
一般的にはどうなんでしょう?
801 :
NAME IS NULL :04/04/11 20:28 ID:vGWX2aWJ
>>800 CSVはカンマ区切りでしょ。
固定長のSAMファイルで貰ったほうが
返還する手間が省けるからいいけど
たいした手間でもないから
むしろあんまり変なことされるより
EXCELで貰った方がありがたいけど。
勝手にCSVにして取り込むから。
ところで逆質問 なんでDB板で? プログラム板とかで聞いた方がいいんじゃないか?
803 :
NAME IS NULL :04/04/11 20:38 ID:i9uIO/yj
ファイルメーカーの使い方がわかりません どうやって勉強 したらいいでしょうか?
805 :
NAME IS NULL :04/04/11 21:19 ID:i9uIO/yj
>>804 ありがとうございます おすすめの本教えてくださいっ!!
807 :
NAME IS NULL :04/04/11 22:06 ID:i9uIO/yj
>>806 感激です!! ありがとうございます さっそく本屋にだっしゅします ところでこれはまったくの初心者でも大丈夫ですか?
>>807 本読むぐらいは初心者も上級者も関係ないよ
やる気の問題。
簡単な本だし。
809 :
NAME IS NULL :04/04/11 22:26 ID:i9uIO/yj
>>808 わかりました さっそく本屋に行って買い占めてきます ありがとうございました!!
oracleのHPから9iのトライアル版をダウンロードしてインストールしようとしたのですが ライブラリ読み込み中にエラーが発生しました areasQueries ってエラーがでてインストールできません 何度ダウンロードしても同じエラーがでるのですが 解決方法ないでしょうか? OSはWin2000です
811 :
810 :04/04/11 23:04 ID:SUGvCjqF
解決しました 板よごしてすいません
>>811 何が原因で、どういう風に解決したのかぐらいは書いて欲しかったが。
もう見てないんだろうけどさ。
813 :
NAME IS NULL :04/04/12 14:11 ID:ggaspxh/
システムDSNとファイルDSNの違いってなんでしょうか? (´・ω・`)
814 :
NAME IS NULL :04/04/13 00:46 ID:S0gAGL0g
ワードのデータを復旧させたいのですが、どうすればいいですか? 保存し忘れました。。。無知な私にアドバイスしてください
検索時のキーとして使われるフィールドでなくとも インデックスを張ることでメモリ上に展開され高速にアクセスできると どこかで聞いた記憶があるのですが,本当ですか? 以下のテーブルがあって,pointをsumする事が多い場合, pointに対してもインデックスを張るのは有効でしょうか? PK id, name, age, point
>>816 実装によって違う。以下はSybaseの話。
インデクス張ればcovering index扱いされ、
主テーブルが読まれない場合があるが、
件数が増えればけっきょくインデクスを
順次走査することになるワケで。
トリガ使って副テーブル作って集計しる!
ただし、ageで絞り込むような場合だと、
age,pointにインデクス張ればカバーされて
パフォーマンス向上に繋がる、かもしれん。
もちろん、インデクスのたくさんあるテーブルへの挿入/更新は
それなりのコストがかかることを忘れないよう。
これはどの実装に対してもいえることだと思われ。
819 :
シスアド受験予定者 :04/04/13 23:25 ID:CSRKtcoU
アクセス2002で試験のためにSQLやってみたのですけど 下の構文を打つと 構文エラー 演算子がありませんって怒られます 原因がさっぱりわかりません。知ってる人いたら教えてください。 SELECT 学籍番号,氏名,性別 FROM 学籍表 WHERE 性別 = '男'
821 :
シスアド受験予定者 :04/04/14 06:15 ID:/LYKX1R6
SELECT 820 FROM データベース初心者スレ ありがとうございます。おかげさまで解決しました。 すごい嬉しいです。
822 :
NAME IS NULL :04/04/17 02:30 ID:1TGxPw+3
今WindowsXP上でAccess2kMDBに最大10万件程度のデータを入れて簡単な検索 しかしないスタンドアロンシステムがあります。このDBを別のものに入れ替 えタイのですが、お勧めはなんでしょう?用件としては配布数が多いので、 インストールが簡単なのがいいです。やっぱMySQLですかね・・・。 すみませんが、助けてくだちい。
823 :
NAME IS NULL :04/04/17 14:16 ID:xKQiPhao
MySQLなんですが、ナンバーやその代わりになるカラムのないテーブルで 新しく追加されたレコード順に表示することってできますか?
>>822 配布が多いなら独自のファイルを使うってのはダメ?
まぁ更新とか入るならツライかもしれないけど。
826 :
NAME IS NULL :04/04/24 11:09 ID:ooeVpwwi
EXCLEでボタンをつくり、 外部DBにストアド命令を投げたいと考えてます。 ボタンを押す前に、EXCELの特定セルに日付を入力しておき、 ボタンを押してストアド命令を飛ばす際に引数として日付をもっていってくれるよう 設定したいのですが、可能なのでしょうか。 アドバイスをお願いいたします。
827 :
NAME 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のカラムになっています)
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' でいけるでしょう。
>>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さんの言うように
設計見直ししたほうがいいと思います。
>>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
...
こう変更できないか検討するべき。
831 :
NAME IS NULL :04/04/24 21:51 ID:OUuEL0rQ
レコードって概念を意識する必要があるよね
ここは健全なインターネットですね
質問です。 Oracle、SQLServer、PostgreSQL、MySQLあたりのいろんなDBに接続できる対話型のクライアントってありますか?
834 :
827 :04/04/25 09:03 ID:???
>828,829,830 殿 テーブル設計を見直すべき・・・ですか。 830氏のテーブルを検討してみます。 ありがとございました。
836 :
833 :04/04/25 13:32 ID:???
>>835 まさにこういうのを求めてました。
ありがとうございました。
はじめまして。 初心者です・・・お尋ねしたい事があります。 Accessスレでも質問したのですがレスがつかない為お願いします。 AccessでフィールドA(オートナンバー型)、フィールドB(テキスト型)。仮にここではAとBとおきます。 そしてフォームでテキストボックスにAの数字を打ち込むと自動的にそれに対応するBを表示させたいです。 それを同じフォーム上に20個程作ってそれぞれ独立させて、そのフォーム上ごと印刷したいです。 調べたのですがどうもわかりません。 どなたかお助けください。
何が分からないのか分からないと何とも言えません。
>838 すいません AccessでフィールドA(オートナンバー型)、フィールドB(テキスト型)。仮にここではAとBとおきます。 そしてフォームでテキストボックスにAの数字を打ち込むと自動的にそれに対応するBを表示させたいです。 それを同じフォーム上に20個程作ってそれぞれ独立させて、そのフォーム上ごと印刷したいです。 の仕方がわかりません。
とりあえずVBAの勉強して下さい
>>837 が
>>838 で指摘されたにもかかわらず、
質問を見直していないところがワロタ
誰でも最初は初心者なんだから、
まず、相手に理解できる質問をできるようになれ。
話はそれからだ。
まさか、一から十まで詳細な手順を示した回答がもらえると
思って書いてるわけじゃないんだろう?
Accessスレでもレスが付かない原因はそこだぞ。
フィールドAでテーブルを検索して
フィールドBを取得して表示させればいいだけの話じゃないのか?
コードの書き方がわからんと言うのなら、
ここはスレ違いだからAccessスレにもう一回わかりやすい質問を
投げてみれ。
各データベースソフトの良い点と悪い点を教えてください
>>842 あんたはODBCでCSVにでも接続しててクダサイ。
844 :
NAME IS NULL :04/05/09 23:46 ID:EsBng0xf
ローディングツールとはどのようなものでしょうか?
>>844 ローディングするためのツールのことです。
846 :
NAME 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になるでしょうか。
意味がわからん。
「table1.c1の先頭1文字 = table2.C1」で結合できれば、 AAA 12 あ AAA 12 い ABA 34 あ ABA 34 い BBC 56 あ BBC 56 い BCD 78 あ BCD 78 い を得られるけど、
849 :
NAME IS NULL :04/05/10 18:26 ID:H0x58A7S
すみません。質問です。 データベースの内容をアンロード掛けてバイナリ形式で抜き出す際、 任意のフィールドを指定してソートを掛けつつ抜き出す方法はありますか? shellの中にSQL書き込んで、 selectで項目指定してorderbyでソート掛けて抽出した内容を、 バイナリに吐き出す、、なんて事は出来ないのでしょうか。 また、 特にオプションを指定しないで単純にアンロード(rdbunlコマンド)を発行すると プライマリキーのフィールドでソートされた状態で抜き出される、、、って聞いたのですが これはホントでしょうか? ちなみに、使用しているDBはsymfowareです。 初歩的な質問で恐縮です。 識者の方、よろしくお願いします。
1分ごとの平均なら、TIMEを先頭の5文字でグルーピングして AVGかければ出せるだろうが、30秒ごとというのは出来るのだろうか? 出でよOracle神。
766以降のログが見えてなかった。。。
>>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) ってできなかったっけ?
853 :
NAME 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
>>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);
855 :
NAME 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 また、本運動に賛同される方、お知り合いの掲示板などに、本文章を掲示していただけると幸いです。
856 :
NAME IS NULL :04/05/13 21:08 ID:T0mETcHS
下記のようなデータで、 value = 1 かつ、value が 100 と 101 を含まない key を 抽出したいのですが、どうすればいいでしょうか。 つまり、A だけ出てほしいのです。 key| value ---+------ A | 1 A | 2 A | 3 B | 1 B | 100 B | 101
>>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));
>>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
860 :
857 :04/05/15 21:17 ID:???
データ検索で SELECT * FROM テーブル名 WHERE 列名 like '%〜〜%' の逆で SELECT * FROM テーブル名 WHERE '〜〜' like %列名% のような処理はできないでしょうか? また擬似的に上記のような処理を行うようにはできないででしょうか? どなたかご教授ください。
>>861 PostgreSQLならシステムカタログから取れそうだけど、他のDBはわからん。
>>861 お返事ありがとうございます。
使用DBはMYSQLです。
あぁ・・・・。
>>863 んじゃ、MySQLスレで聞いてみれば?
ユーザテーブルを管理するシステムテーブルがあると思うのだけど。
>>864 そちらに行ってみようと思います。
ありがとうございました。
866 :
NAME 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人分だとどのようにまとめたらいいのかわかりません。よろしくお願いします。
>>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 社員番号;
868 :
NAME 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 で持って来れないのでしょうか?
よろしくお願いします。
仕様が糞
>>868 整数型かよ。労働時間が2時間30分なんていう分単位は考慮しないんだなw
SELECT 社員番号,sum(労働時間) FROM table WHERE 日付 BETWEEN 20040501 AND 20040531 GROUP BY 社員番号;
WHERE句のところは、WHERE 日付 BETWEEN 20040500 AND 20040599 なんてしても別に問題ないと思う。
871 :
NAME 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 の最大値の行を返すとかってできないかな?
>>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行目だけ取得汁。
873 :
NAME IS NULL :04/05/18 23:42 ID:3jivAh2u
1行目だけの取得がわからないっす・・・ 結果の何行目だけ返すとかってできるもんなんですか?
874 :
NAME IS NULL :04/05/18 23:43 ID:xg/uGZf5
データベースって難しいと思う。 できる人は本当に頭いいと思う。
>>873 PostgreSQLやMySQLならLimitがある。
他は触ったことないけど、同様の述語がありそうだ。
で、SQL-92的にするならCURSORを使う。
使い方はお使いのRDBMのマニュアル嫁。
877 :
NAME IS NULL :04/05/19 00:17 ID:Mo8g2hEE
sql serverだとカーソル使うのはわかったが 取り出した行をクエリの結果みたいに返す方法がわかりません。 わからいなことばかりで申し訳ありませんが 御教授願います
>>877 マニュアル無いんかよ。
FETCH IN カーソル名;
でいけると思うが。
すいません、SQL質疑応答スレにも書いたんですが、こっちの方が人が居るみたいなんで… マルチですいません。 oracle9iで1つのカラムに入っているレコードを全て1行で取得したいのですが。 例えば、 id ---- 1 2 3 を id ---- 1,2,3 の様にSQLのみで1行で取得するにはどうすればいいでしょうか? レコードの数は不定です。 よろしくお願いします。
>>879 SQL質疑応答スレでも見たがOracle使っていないのでスルーした。
SQLのみだと多分無理。
882 :
NAME 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文をつくってやればいいのか わかりません。ご教授お願いします。
>>882 主キーが無いどころか、行を見分けることもできへんがな。
884 :
初心者です。 :04/05/21 00:18 ID:gInREXze
linuxで、データベースを学びたいです。 どのようにすれば良いか教えていただければ教えてください。 お願いします。
2chなんかうろついてないで、本でも買いなさい。
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で作っています。 テーブルの構成など、どこかおかしい点があるでしょうか? リアルタイムで結果が返ってきて欲しいのですが、こんなに時間がかかるものなのでしょうか? どうかよろしくお願いします。
>>887 主キーやインデックスの設定は?取得件数は?
全件を取得するならそれなりにかかるだろう。
>>888 ええっと、主キーは一個目の要素のidで、取得件数は上限無しです。
ただしselectの条件は、where in = aaaみたいに、一つに固定です。
aaaとbbb両方とかは無いです。
インデックスの設定ってのはどういう事でしょうか…。
ちょっと質問した事後になっちゃうんですが、調べてきました。 CREATE INDEX tableindex ON table(in); としてインデックスを作っておくと、inを条件として検索するときに高速になる という解釈であってるのでしょうか? けど、調べてみると、頻繁にデータの挿入がある場合はインデックスの更新の方に 時間を取られるから、インデックスを使わない方が良いとありました。 かなり頻繁にデータの挿入があるのですが、そこのところどうでしょうか…。
現在の更新速度に不満が無いなら、とりあえずインデックス貼ってみて 実用に耐えられないほど、パフォーマンスが落ちるようならあきらめたら? あとは、idで検索できるようにがんがる。 でも、PostgreSQLって、インデックスが糞って聞いたけど本当なのかな。
>>891 とりあえずinのindexを作ってはみたんですが…。
なんというか、早い時は早いんですが、作ってない時と差がないほど遅い時もありますね。
>あとは、idで検索できるようにがんがる。
これは例えばどういう方法でしょうか?
idはただの番号で、inの中身とは何の関連性も無いのですが…。
>>892 7.2の頃まではインデクスの使い方が下手
(ちうか評価関数がいいかげんだった?)だが、
最近はいい感じだぞ、と、Postgresスレで読んだ。
最近鬱で読んでないので、pgスレ読まずにカキコ
>>892 VACUUM ANALYZE; したのか?
>>894 やってないです…。
vacuumdb --analyze dbname
ですよね?
で、vacuum analyzeして来たのですが…。 多少早くなったかな〜?って程度で、やはり遅い時には結果が返ってくるまで 1分くらいかかります。 pg_dumpしても100M程度のさほど大きくないDBなんだけどなぁ…。 こんなもんなんでしょうか。 他のもっと大規模なDBとかどうするだろう…。
>>897 ってことは、text inは重複が多くてIndex Scanされてないんだろ。
EXPLAIN して確認しる。
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関係なのはどうしようもないし、データを減らすわけにも行かないし…。
>>899 の前に
数万行から十数万行を抽出して、その後どうするんだ?
>>900 ランダムで一行選ぶだけ…。
なので上限をつけても良いし、一番良いのはなんらかの評価関数を使って
一行選べればいいのですけど。
けど上限を例えば10にしたとして、返される結果はいつも同じデータにはならないのでしょうか?
その10個のデータ以外のデータがいつも選外になって無駄になると言うか。
>>901 そりゃまた...
1発でって案がうかばねぇな。
事前にゴニョゴニョして、ナニならごにょごにょ、なになら後如後如...
しかし更新頻度を考えるとごにょゴニョもあてにならねぇし。
おまいら、よろしくお願いいたします。 postgresql7.3を使っています。、yyyy/mm/dd hh:mm:ssというフォーマットで日付が格納されているレコードから hh:mmだけを抜き取りたい場合はどうすればよろしいでしょうか。
>>903 timestamp形式で格納されているのか、string型で格納されているのか、どっちよ。
前者なら to_char(timestampカラム ,'HH24:MI')
後者でもそのままtimestamp型に変換できそうだから、
to_char(stringカラム::timestamp,'HH24:MI')
でいけるだろ。
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のどこでするんですか?フォルダとかいう言葉も聞いたことありますが、ワードでやっていくんですか?ワードの中のどこでやっていくんですか?
>>906 立派なデータベース。
個人で管理するならAccessかExcel。
908 :
906 :04/05/27 09:12 ID:1qJEJa+z
>>907 ありがとうございます。
そうなんですか? マイドキュメントとかなんとかに、って人に教えられたような・・・。
それってワードじゃなかったんですか〜。。。
Accecc? Excel?
すいません、初歩的なことを全然知らないので。
>>908 Accessはキミにちと荷が重いような気がするし
安いものでもないので、
その手の情報を管理する「データベースソフト」はないかどうか、
他の板で尋ねてこい。もしかするとこの板他スレにその手の
話題があるかも知れんが知らん。
で、バイトするなり親にねだるなりして買ってもらうといいだろう。
そういう用途には、マトモな親は喜んで出資してくれるはずだ。
ちなみに俺は本職なのでむしろパーソナルユースには詳しくない。
で、DBでいろいろできるんだなと感じたら、またこのスレに遊びに来い。
…ていうか、その手の作業は、Microsoft Wordの
「アウトライン」モードを使えば容易なような希ガス
912 :
907 :04/05/27 12:50 ID:???
>>908 フォルダをカテゴリ別に分けてファイルごとに管理したいんなら
それでも構わんよ。
自分のわかりやすいように管理したらいい。
漏れがさっき言ったのは、
君の持ってる数千枚のカードを、一つのファイルで管理する方法。
昔のWindowsにはcardfileってのがついてたなあ。 あれ、いつから無くなったんだろう。
アウトラインプロセッサ使えば?
915 :
NAME IS NULL :04/05/28 05:29 ID:xjrgd4AW
Oracle や Microsoft SQL Server をウェブアプリケーションの バックグラウンドで使用する場合 どのライセンスの物を 買うのがお得なのでしょうか? 1プロセッサ などプロセッサ数でのライセンスはわかりやすいのですが クライアント数でのライセンスがよくわかりません 例えば5クライアントと10クライアントの場合だと具体的にどのような 違いがあるのでしょうか? 必要なクライアントの数え方がよくわからなくて困っています 宜しくお願い致します
NATURAL JOIN句に関して質問します。 某教科書には、 「両方の表で同じ名前とデータ型を持つ列に関してのみ結合が行われる。」 と書かれているのですが、 実際に試してみたところ、 同じ名前でデータ型の異なる列でも結合されて実行されるのですが、 どうなんでしょうか?宜しくお願いします。
917 :
NAME IS NULL :04/05/28 09:16 ID:S3LYW/Qg
メールフォームには写真が添付出来ないので、 フォームのHTMLソースを調べてアドレスを探そうと思ったのですが、 HTMLの中にメールアドレスらしきものがありませんでした・・・。 どうやったらフォームから相手のメール(受信)アドレスを知ることが出来ますか?
>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
920 :
916 :04/05/28 14:34 ID:???
自己解決しました。バージョンによって違うようです。
921 :
NAME 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です。
922 :
NAME 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
ですすみません
923 :
NAME 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というふうに、各項目ごとに カウントしたいのですがどうすればいいでしょう?グループ化を するのですか?
>>921 できるよ。
>>923 SELECT retu,count(retu) FROM table GROUP BY retu;
925 :
915 :04/05/30 05:17 ID:???
>>918 さん
ありがとうございます. 参考になりました.
返信遅くなってしまってすみません.
>>917 スレ違いだが…。
そのメールフォームからcgi等を呼び出してメールを送ってるはず。
従ってhtmlからaddressを取得するのは不可能。
大人しくメールフォームでaddressを聞くのが正しいかと。
927 :
NAME IS NULL :
04/05/31 23:14 ID:6O1ci7gM SQLServer2000を使用しています。 「警告:NULL値は集計またはその他のSET演算で削除されました」ってエラー が出力されたのですが、原因がわかる方、教えていただけないでしょうか? また、T-SQLのエラーメッセージがわかるHPがあれば教えていただきたいので すが・・・