お世話になります。
できないとは思いますが質問させて頂きます。
SQLで商品が入っているテーブルがあるとします
商品名 金額 商品A 10000 商品B 10000 商品C 10000
こういったテーブルのなかから、2万円分を特に指定なしに抽出することはできるのでしょうか。
宜しくお願い致します。

回答5件
あなたの回答
tips
プレビュー
Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。
SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。
0グッド
3クリップ
投稿2018/03/14 02:01
お世話になります。
できないとは思いますが質問させて頂きます。
SQLで商品が入っているテーブルがあるとします
商品名 金額 商品A 10000 商品B 10000 商品C 10000
こういったテーブルのなかから、2万円分を特に指定なしに抽出することはできるのでしょうか。
宜しくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
ベストアンサー
ナップサック問題ですね。
PL/SQL2 ナップサック問題
病みつきになる「動的計画法」、その深淵に迫る (1/4)
投稿2018/03/14 05:14
総合スコア25430
0
基本的には総当たりで処理するしかないでしょう
oracleとちょっと文法が違うかもしれませんが参考までに
SQL
1create table tbl(id int unique,name varchar(10) unique,price int); 2insert into tbl values(1,null,0),(2,'A',10000),(3,'B',10000),(4,'C',10000);
select t1.name as name1 ,t2.name as name2 ,t3.name as name3 ,t1.price+t2.price+t3.price as sum from tbl as t1 left join tbl as t2 on t1.name!=t2.name and t1.id<t2.id or t2.name is null left join tbl as t3 on not t3.name in (t1.name,t2.name) and t1.id<t3.id and t2.id<t3.id or t3.name is null
投稿2018/03/14 03:05
編集2018/03/14 03:44総合スコア117912
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
参考情報
投稿2018/03/14 22:44
総合スコア22328
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ある程度で業務でSQLは使っていますが、いい方法は思いつきません。。。
実現しようとするならPHPやRuby等のプログラミング言語と組み合わせるかたちになってしまいます。
投稿2018/03/14 02:35
編集2018/03/14 02:36総合スコア767
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/14 05:29
2018/03/14 05:35