PostgreSQL

全1193件中1121~1140件表示
  • 0の除算

    PostgreSQLのSQL文で0の割り算だと計算をしないで, 0やNullを返すようなSQL文を作りたいのですが, 分かりますか? 例えば select field0, ( field1 / field2 ) as result; だと「field2」が0の場合エラーがでてしまいます。 field0は出力したいのでWhere文で Where field2 <> 0 は使えません。 オラクルではdecodeという関数が使えるようですが。

  • Perl DBI でSELECT ilikeの結果がうまくでない

    入力したワードを含む商品の列挙をしたいのですけどpsqlで直接たたくとうまく結果がでるのにPerlからDBIを使用した場合は入力ワードによってうまくできたりできなかったりします。どうしたらうまくいくのでしょうか? DBはEUC-JP PerlからのクエリーもEUCにJcode変換してから行っております。 なおうまく出ないのは漢字ではなく英数字をワードにしたものです。 SELECT * FROM 商品テーブル WHERE 商品名 ilike '%入力ワード%' 商品名が**** A-101ABXの場合 '%A-%'ではうまくいくけど'%A-101BX%'ではうまくいかない。 (****は任意の漢字、英数字) どうぞよろしくお願いします。

  • Accessのデータを簡単にPostgreSQLに転記できますか?

    Windows版の Microsoft Access 2000で作った*.mdbファイルのデータを、 ほとんど丸ごと、LinuxのPostgreSQL(ver 7.3.4)に 一気に転記したいのです。 いい方法をご存知の方、ご教授願います。

  • よろしくお願いします。

    番号|名前|国語|算数 ----+----+----+---- 1 |佐藤|95 |85 2 |高橋|75 |95 3 |今井|68 |99 を 点数|番号|名前 ----+----+---- 68 |3 |今井 75 |2 |高橋 85 |1 |佐藤 95 |1 |佐藤 95 |2 |高橋 99 |3 |今井 と重複させ並べ替えて出力したいのですが・・ 初歩的な質問でごめんなさい。教えてください・・

  • 副問い合わせの使い方

    ORACLEの経験はあるのですが、初めてPOSTGRESQLを使用します。 ORACLEと同様にSQL文で副問い合わせを行いたいのですがどうもうまくいきません。 select winner from (select winner from  t_play_data); と検索するとエラーになってしまいます。 SELECT ~ from ・・・ の ・・・の部分に(SELECT ~)と 副問い合わせをすることはできますでしょうか。 バージョンは 7.0.2です。 ************************************ ** 普通に検索すると検索できます。 ************************************ tsuka000jp4=> select winner from t_play_data; winner ------------- tsuka000jp palalaika ************************************************ ** 以下は副問い合わせの例ですが、 ** 副問い合わせをすると以下のようなエラーが出 ** てしまいます。 **************************************************tsuka000jp4=> select winner from (select winner from t_play_data); ERROR: parser: parse error at or near "select"

  • Postgresql JDBCのconnect error

    Vine Linux2.6, Tomcat5, Postgresql7.4.3の環境で、 簡単なDBへアクセスのJspを作りましたが、実行したら、次のエラーができましたが、解決方法を 教えてください。 JSP File: <HTML> <HEAD><TITLE>User List</TITLE></HEAD> <BODY> <%@ page import="java.sql.*" %> <TABLE BORDER=1 width="75%"> <TR><TH>UID</TH><TH>Password</TH></TR> <% Connection conn = null; Statement st = null; ResultSet rs = null; try { Class.forName("org.postgresql.Driver").newInstance(); conn = DriverManager.getConnection("jdbc:postgresql://xxx.xxxx.xx.xx:8080/webshop","postgres","xxxx"); st = conn.createStatement(); rs = st.executeQuery("select * from tbllogin"); while(rs.next()) { %> <TR><TD><%= rs.getString("fldlogid") %></TD> <TD><%= rs.getString("fldpwd") %></TD></TR> <% } %> </TABLE> <% } catch (Exception ex) { ex.printStackTrace(); %> </TABLE> Ooops, something bad happened: <% } finally { if (rs != null) rs.close(); if (st != null) st.close(); if (conn != null) conn.close(); } %> </BODY> </HTML> Tomcat5のログcatalina.out: org.postgresql.util.PSQLException: The backend has broken the connection. Possibly the action you have attempted has caused it to close. at org.postgresql.core.PGStream.ReceiveChar(PGStream.java:168) at org.postgresql.jdbc1.AbstractJdbc1Connection.openConnectionV3(AbstractJdbc1Connection.java:291) .....

  • できる人には、簡単な問題だと思うのですが・・・・

    以下のようなテーブルがあります。 ■ tb_order (注文テーブル) ※pkey は、order_cd order_cd | user_cd | sale_cd  100    user1     A  200    user2     A  300    user3     B  400    user3     A ■ tb_order_goods(注文商品テーブル) ※pkey は、order_goods_id order_goods_id | pay_dt | order_cd    001     20040812   100    002              100    003     20040812   100    004     20040813   200    005              300    006              400    007     20040814   400    008              400 #データの状態# (user_cd=user1)の人が、あるセール(sale_cd=A)の日に 3つの商品(order_goods_id=001,002,003)を、注文しました(order_cd=100)。 前払いをした商品には、pay_dtが入ります。 #質問# sale_cd が Aのときに、前払いした人のuser_cdを取得したいのですが、 どのようなSQL文を作れば効率がいいのでしょうか? select user_cd from tb_order where sale_cd='A' and order_cd in ( select distinct order_cd from tb_order_goods where pay_dt is not null); とやれば、取得できると思いますが、tb_order_goods の全データを見てからの 抽出なので、効率が悪い気がします。 tb_order から、sale_cd='A' のorder_cd を抽出してて、order_cd を限定してから、 tb_order_goodsで、pay_dt is not nullをすれば、より早いと思うのですが・・・。 JOIN等の結合を使えばいいと思うのですが(多分)、 どのような結合がこの場合に適したものになるのか分からないため、 教えていただければと思います。

  • PostgresのSQL文

    誕生日を取得するSQLとして以下の文を発行し、 -- 誕生日の並び替え(多い順) select trunc((current_date - to_date(birth,'YYYY/MM/DD'))/365) as age, count(*) as cnt from tb_custom_user where birth is not null group by age order by cnt desc; 次の結果を得ました。 age | cnt -----+----- 25 | 2 26 | 1 28 | 1 (3 rows) cntが最大数のときのageだけを取得したい場合、 上記のSQLをどう変更すればいいのでしょうか?

  • copy コマンドの動作

    テキストファイルをpostgresの 'COPY'コマンドにてテーブルへ取り込みを行っています。 文字コードはEUC(CSV)からEUC(POSTGRES)です。 CSVの中で、半角のカナや記号のようなものが混じっていた場合など、COPYコマンドがエラーをおこします。 そこで実行が止まってしまい、テーブルへは何も入っていない状態になります。 COPYコマンドでエラーの起きた行は読み飛ばして取り込みを続けることは出来ないのでしょうか?

  • 『psql: could not connect to server: そのようなファイルやディレクトリはありません』について

    Sun Linux/PostgreSQL7.2を使用しWebサイトを開発中です。環境自体はとっても初心者です。 接続しようとしてTelnetから[psql db名]を入力すると下記エラーメッセージが帰ります。 開発中にエラーが発生しないので原因(きっかけ)すらわかりません。 psql: could not connect to server: そのようなファイルやディレクトリはありません Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? そこで、PostgreSQLの状況を見ようとして下記コマンドを入力すると、。 [root /root]# /etc/rc.d/init.d/postgresql restart PostgreSQL ・蒔・折掛 蔀河詳 ERROR! PostgreSQL ・少嘆 蔀河詳 [] [root /root]# /etc/rc.d/init.d/postgresql status postmaster is stopped [root /root]# /etc/rc.d/init.d/postgresql stop PostgreSQL ・蒔・折掛 蔀河詳 ERROR! [root /root]# /etc/rc.d/init.d/postgresql start PostgreSQL ・少嘆 蔀河詳 [] [root /root]# /etc/rc.d/init.d/postgresql status postmaster is stopped [root /root]# /etc/rc.d/init.d/postgresql stop PostgreSQL ・蒔・折掛 蔀河詳 ERROR! 停止しているのは解るのですが、起動できないようです。 やむを得ず、サーバー自体を再起動している状況です。 原因、対処法などご教授頂けませんか?よろしくお願い致します。

  • postgreSQLでint8で設定された項目にデータを挿入したいのですが、教えて下さい。

    例えば、下記のようなテーブルを作成し、 create table testm ( data1 int8, data2 int8, data3 int8 ); 普通全ての項目に値があれば、1行挿入することができますが、 insert into testm values (1, 2, 3); もし、値がないのに、項目に挿入したい場合は、できるのでしょうか? insert into testm values (1, , 3); 教えて下さい。それが出来なかった場合の対処方法も教えて下さい。

  • その月の日付を取得するには?

    PHPなどで、今日の日付を取得し、 その月に対して1日~31日までというような 終わる日にちを取得することは可能なのでしょうか?? 現在のプログラムでPHPで日付を取得して、 例:(今日だと2004/08) などというように その後、年と月は取得できているので、 その日にち1日から31日を取得できれば、 between A and B で、その月の内容を取得できるのですが、 無理でしょうか??

  • 接続出来ない その2

    自分のPC(XP)からTelnetで LINUX(Red Hat Linux release 9 (Shrike))に接続して、 PostgreSQLを使いたいと思っています。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=944720 の方で「PostgreSQLが接続出来ない」という 質問をさせて頂いた者です。 PATHを通したので以前のようなエラーはなくなりました。 ただ今度は次のようなエラーが出てします。 $ postmaster FATAL: XX000: failed to initialize lc_messages to "" LOCATION: InitializeGUCOptions, guc.c:1866 また、initdbをすると、 $ initdb initdb: no data directory specified You must identify the directory where the data for this database system will reside. Do this with either the invocation option -D or the environment variable PGDATA. というエラーが出てします。 自分なりに色々とやってみたのですが どうしても分かりません。 ご教授して頂けたら幸いです。

  • 接続出来ない

    ご質問させて頂きます。 自分のPC(XP)からTelnetで LINUX(Red Hat Linux release 9 (Shrike))に接続して、 PostgreSQLを使いたいと思っています。 LINUXには接続するのですが PostgreSQLを使おうとすると コマンドが見つからないというエラーが出てしまいます。 $postmaster -iと入力。 -bash: postmaster: command not found 管理者の方に聞くと、 PostgreSQLは入っているそうです。 よろしくお願いします。

  • 検索後のレコード選択について

    OSは、WINDOWS2000 PostgreSQL+PHP4を使用しています。 レコードの選択条件として、選択レコードの始めの50件、51件~100件のように件数指定で取得することはできるのでしょうか? 始めの50件ですと、TOP 50(SQL Serverだったか、ACCESS?)のような感じで取得できるような気がするのですが、51件~100件といった指定方法はあるのでしょうか? ご存知の方がいらっしゃいましたら、ご教授ねがいます。

  • テーブル作成 外部参照 配列

    はじめまして maruchanといいます。 外部参照のところで詰まっています。 例: テーブルA id primary key name text と言うテーブルがあるとして CREATE TABLE B ( id PRIMARY KEY, z_id integer[] constraint constname references A(id) ); ということを実行したいんですが エラーが出ます。 ERROR: syntax error at or near "cast" at character 98 なにか気づく点がありましたら 返事ください。 宜しくお願いします。

  • PostgreSQLでINPUTでデータを送るときなんですが(初歩的)

    PostgreSQLでINPUTでデータを送るときなんですが データベースのデータ型はint8と、numericを使用 しているのですが、こういうときは、 <INPUT>タグのtypeは何にすれば良いのでしょうか? 教えてください。 データ型がtextの時は、 <INPUT type="text" size="10">とすれば、いいのですが、 int8と、numericのときは、どうすればいいのですか? 教えてください。

  • データベースが異なるテーブルを連結してSELECTしたい

    データベースが異なるテーブルを連結してSELECTしたいと考えています.(PHPを使用して結果をWEB上に表示したいと考えています.) つまり,2つの異なるデータベースがあり,それぞれのデータベースのテーブルの内容をINNER JOINまたはOUTER JOINで連結したいと考えています. 可能でしょうか? また,MS-Accessのリンク機能と同様な機能をPostgreSQLは持っているのでしょうか? PostgreSQL Ver.7.3.0

  • 検索の仕方

    はじめまして。 PostgresSQLとPHPを使用してアドレス帳を作成しようとしているのですが、PostgresSQLへデータを入力する際に、すべて数字にした方が良いといわれました。 検索をする際に数字の方が良いからだと、言っておりましたが、漢字ではDB内を検索できないのでしょうか? 名前で検索をするときは、半角カタカナで検索をするといってましたが、本当に漢字では検索できないのか?が疑問です。 どんな検索エンジンでも漢字等を使って検索をかけていますので、素人の私はわざわざ数字にする必要があるのかと思ってしまいます。 ちなみにソート機能をつけようとも思っています。 その際は半角カタカナのDB登録は必要でしょうか? どなたか、詳しい方ご教授願えれば幸いです。 よろしくお願いいたします。

  • psqlでエラーログをとりたい

    こんにちは、honiyonです。  WindowsXP + Cygwin + PostgreSQL  という環境で使用しています。  psqlは   http://www.interwiz.koganei.tokyo.jp/software/PostgreSQL/windows.html  にあるWindows版を使用しています。  この環境で、ファイルに保存してあるSQLを一括処理した場合に発生するエラーをしる為に、実行結果をファイルに保存したいと思い、  psql -h localhost [DB名] < sqllist.txt > log.txt  のように実行してみました。  確かにログは作成されましたが、正常時のみで肝心のエラーメッセージが省かれて保存されます。  そこで、  psql -f sqllist.txt -o log.txt -h localhost [DB名]  としましたが、変化ありませんでした。  もしエラーメッセージを保存する方法がありましたら、是非ご教授ください(..  宜しくお願いします(..