• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:オブジェクトリレーショナルデータベースにおいてのSQL文について)

オブジェクトリレーショナルデータベースのSQL文について

taka_tetsuの回答

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

>1.ワイルドカードを使えるのか? from句では無理でしょう >2.異なる親(継承元)を持つ複数のテーブルから課題の条件を抜き出すにはどうすればよいのか? union使っちゃだめなんですか?

関連するQ&A

  • SQL whereの中のif文について

    SQLの中にif文を使いたいですが、 うまくいきません。 やはりwhereの中で使えないですか? アドバイスお願いします。 実際のSQL文: $sql = "select * from room";     $sql = $sql . " WHERE ((Keisai = 1)"; if(Chinryou1>0){ $sql = $sql . " and (Chinryou1 <= {$rent1})";     }else if(Chinryou1==0){ $sql = $sql . " and (Chinryou2 <= {$rent1})";    } $sql = $sql . ")"; $sql = $sql . " order by Narabijun desc, Name"; $sql = $sql . ";"; $result = mysql_query($sql, $conn); $num = mysql_num_rows($result);

    • ベストアンサー
    • MySQL
  • SQLの書き方を教えて!

    select name,SUM(kingak) from where date between 150221 and 150320 group by frjpc.trcd のようにSUMで集計を行うSQLを発行する時に,同時にkingak順にsortすることは可能なのでしょうか? select name,SUM(kingak) from where date between 150221 and 150320 group by frjpc.trcd order by SUM(kingak) としたいところですが,これではエラーになりますね。 SQLでは解決できないんでしょうか?

  • VB.NETのSQL文について

    質問失礼します。 VB、SQLともに勉強しはじめて日が浅い初心者ですが、どなたかお力をお貸しください。 データベースに登録しているデータをNPOIを使って、出力したいと考えています。 DataTableを使用して作りましたが、上手くできない部分があります。 テーブルのカラムは、社員番号、事務物販名、登録数、登録日、更新日のようなものが入っているイメージです。 登録日を検索して、全てのテーブルを抽出したいのですが、○月○日〜○月○日にデータを登録した人というときに、つまづいてしまいました。 SQL.Append("SELECT " ) ・ ・ SQL.Append("WHERE ") SQL.Append(" 登録日 BETWEEN パラメータ1 AND パラメータ2 ) のように、書いたところ問題なく、出力されました。 パラメーターの部分は、DateTimePickerコントロールを配置して、日付を入力した値を設定しています。 2023/1/1 と 2023/1/2と2つ入力して、この2日間のデータを出そうとしたところ、1/1の文しか出力されませんでした。 原因は、データベースに入っているのは、Date型で、YYYY/MM/DD HH:mm:SS形式でした。 1/2の0時以降は、該当データに含まれないということは分かっているのですが、それを含めてのSQLの書き方がわかりません。 単純にSQLを書くには、 BETWEEN 2023/1/1 AND 2023/1/2 23:59:59 で、2日の文を抽出されますが、VBに書く時がうまくできない状態で、 時間の部分を、結合すれば良いのかと思い、 SQL.Append("SELECT " ) ・ ・ SQL.Append("WHERE ") SQL.Append(" 登録日 BETWEEN パラメータ1 AND パラメータ2 II '23:59:59' ") と、DataTimePickerから持ってきた、パラメータの日付に時間を結合してみたところ、ダメでした。 型の問題なのか、よくわからず、勉強している状態です。 基礎がなっておらず、初歩的なミスかと思いますが、ご指導ください。 データベースはOracleを使用しています。

  • date型を年月で指定するSQL文

    初歩的な質問かと思いますが… ご質問失礼いたします。 SQL文で2000年の1月を表示させたい時、 SELECT * FROM syouhin WHERE nengatsuhi BETWEEN '2000/1/1' AND '2000/1/31 というように、BETWEENではなく、 SELECT * FROM syouhin WHERE nengatsuhi = ?? BETWEENを使わずに2000年1月だけを指定することは可能でしょうか?

    • ベストアンサー
    • MySQL
  • SQLのbetweenについて

    現在SQLを勉強しています。 C♯とSQLServerを使用しているのですが betweenを使って困った点があります。 自分で入力するAとB(どちらも数字)をbetweenの条件にしていしているのですが 例) select フィールド名 from テーブル where フィールド名 between A and B; → テーブルのフィールド名 の中のAからBのデータを選択する は問題ありません。 ですがAとBが未入力だとエラーが当然でてしまいます。 そこで未入力だとフィールド名の中を全件selectするようにしたいのですが、これはbetween で出来るのでしょうか? おそらくは条件であれこれ指定するのだと思いますが… 回答お願いします

  • 複数条件のSQL文

    こんばんは。 SQL文を書いていますが困っています。 複数条件のつなげ方がうまくいかないのです。 通常のSQLでかけば・・・ (1)WHERE(AreaID='OSAKA') (2)WHERE Size BETWEEN 'S' AND 'LL' (3)WHERE Adrs LIKE '豊中市%' と3文になるような複数のSQL条件を・・・ 「SELECT * FROM ordermaster 」につなげたいと思っています。 どのようにつながれば正解なのでしょうか? 是非とも宜しくお願い致します。

  • こんなSQL文

    Oracle8.1.7を使用しております。 以下のようなテーブルに対し、1行目と2行目を削除するSQL文を書きたいのですが、思いつきません。どなたか、アドバイスいただけないでしょうか? 表名:A   B | C ――――――――   2 | 10   2 | 1   1 | 10   1 | 1   1 | 11   1 | 2   1 | 1   3 | 10   2 | 3 変数として、P1=1とP2=2があります。(これは、SQL文の中に直接書くものとします。) ここで、SELECT B,C FROM A WHERE B=1;とSELECT B,C FROM A WHERE B=2;を実行すると、次のようになります。   B | C     B | C ――――――――― ―――――――――   1 | 10    2 | 10   1 | 1     2 | 1   1 | 11    2 | 3   1 | 2   1 | 1 ここで、それぞれの表を見ると、Cの値が一致している部分があります。この一致していて、Bが2の行を削除したいのですが、SQL1文では無理でしょうか? 最近、SQLには慣れてきたつもりだったのですが、こんなとこでつまずくとは・・・どうぞよろしくお願いします。

  • SQL文で

    SQLのWHEREの条件文の中に、「(+)」というのがあるのですが、 どういう意味なのでしょうか? select * from Office WHERE a.Office_cd=b.Office_cd(+) といった感じですが。 よろしくお願いします。

  • SQL文でWhere+orを使う理由

    ItemsテーブルからValueにAという値かBという値を持ってる人のNameを取得するSQL文について調べたのですが、以下のようになってました。 SELECT Name FROM Items WHERE Value IN ('A', 'B') これで動く結果については納得できたのですが、ORを使っても良いのではないでしょうか。以下のようなやり方は出来ないのかと思ったのですが SELECT Name FROM Items WHERE Value = 'A' or 'B' のように=(イコール)の後の値にorをつけるという書き方は見当たりませんでした。これで動かない場合、以下の方法なら動くはずだと思います。 SELECT Name FROM Items WHERE Value = 'A' or Value = 'B' おそらく結果はINを使った場合と同じだと思うのですが、これはどのようにして使い分けられているのでしょうか?文の短さで言えば値が複数の場合はINの方がはるかに短くなってスマートですが、単数でもINの方が短く済みそうな気がします。INの後のカッコ内に更にSQL文を書くことも出来ますし、Where+orの意義がよく分からなくなってきました。

  • like文の書き方を教えてください。

    テキストボックスを作成して入力した値がデータベースに 格納されている場合表示されるSQL文を書いていますが syntaxエラーになってしまい原因がわかりません。 String name = request.getParameter("name"); //入力された名前 String sql = new String(); <%-- SQL文 --%> sql += " select * from data "; sql += " where name "; sql += " like" + "('%" + s_name + "%')"; sql += " ) "; <input type="text" name="name" value=""> //textBox エラー表示 8番目: SQL = select * from data where name like('%i%') ) 9番目: ResultSetに格納失敗 : java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1  となってしまいます。 コマンドプロンプト上で select * from data where name like('%itou%'); この場合はちゃんと表示されます。 お分かりになる方よろしくお願い致します。

    • ベストアンサー
    • MySQL