- ベストアンサー
オブジェクトリレーショナルデータベースのSQL文について
taka_tetsuの回答
>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を使用しています。
- 締切済み
- 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 Server
- 複数条件の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(+) といった感じですが。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- 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