0509NAME IS NULL垢版2018/09/01(土) 18:48:49.07ID:??? エラー回数は有限で3回までです。 accessがtempテーブルも使えず、実体テーブルにselect into しても それだけなのに、2万件で1時間近くかかってしまっています。 助けてください。。。今日そのことばかり考えながら家事をしていました。つらい 0510NAME IS NULL垢版2018/09/01(土) 19:17:06.19ID:he6NSwN/ 抽出クエリ自体を実テーブルにして氏名にインデック貼って
SELECT 氏名, Max(IIf(エラー回数 = 1,エラー内容,Null)) as 1回目, Max(IIf(エラー回数 = 2,エラー内容,Null)) as 2回目, Max(IIf(エラー回数 = 3,エラー内容,Null)) as 3回目 from 抽出クエリ結果 group by 氏名 order by 氏名
とかかな 0511NAME IS NULL垢版2018/09/01(土) 19:31:19.34ID:??? 抽出クエリってやつは実テーブルじゃなくて何かの条件で抽出した状態のビューを言ってるわけ? それとDBがアクセスってだけでSQL自体は外部ツール(C#とか)から実行するの? 0512NAME IS NULL垢版2018/09/01(土) 19:32:05.22ID:??? 適切なスレが見当たらないんで、ここで聞くんだけど sqlから、ER図を生成する方法ってある? できればoracleで。 イメージ的には、プログラミングで言うと ソースコードからクラス図を生成するイメージ 0513NAME IS NULL垢版2018/09/01(土) 19:35:46.49ID:???>>510 ありがとうございます。 実テーブルに入れるというところで30分以上かかってしまい。 select だけだと1分程度で抜けるのが、insert selectでも select insertでも 30分かかってしまって、その後にクエリ流すのに時間が掛かってしまっています。
>>511 from 句の中に書いたサブクエリになります。 アクセスに対して、エクセルのVBA側から呼び出しをかけています。 0514NAME IS NULL垢版2018/09/01(土) 19:39:12.73ID:he6NSwN/>>512 SQLってDDL分ってこと? 実態テーブルからER作成するのは 有償ツールはいくつかあるけど とりあえずA5とかで試して見たら? https://a5m2.mmatsubara.com/help/ER/ FKとか指定してないとさすが無理だけど 0515NAME IS NULL垢版2018/09/01(土) 19:59:08.40ID:???>>514 DDLではなく、普通のselect分です。 DBにつながる環境で、FKとかはDBから拾ってきてほしい想定です。 実テーブルから、ER図ではなく、 実テーブルと、select分から、ER図を作ってほしい 0516NAME IS NULL垢版2018/09/01(土) 19:59:37.04ID:??? select 抽出テーブル1.氏名, 抽出テーブル1.エラー内容 as エラー内容1, (select エラー内容 from 抽出テーブル as 抽出テーブル2 where 抽出テーブル2.氏名=抽出テーブル1.氏名 and 抽出テーブル2.エラー回数=2) as エラー内容2, (select エラー内容 from 抽出テーブル as 抽出テーブル3 where 抽出テーブル3.氏名=抽出テーブル1.氏名 and 抽出テーブル3.エラー回数=3) as エラー内容3 from 抽出テーブル as 抽出テーブル1 where 抽出テーブル1.エラー回数=1 order by 抽出テーブル1.氏名;
access2016のSQLビューで動いた奴 0517NAME IS NULL垢版2018/09/01(土) 20:00:42.02ID:??? エラー内容ってカラムが実は1つのテーブルから複数もってくるけどはしょられたら破綻するけどね 0518NAME IS NULL垢版2018/09/01(土) 20:13:28.57ID:???>>516 これはデータ件数が多いと時間かかりそう レコード1件ごとカラムのサブクエリが実行されるだろう 0519NAME IS NULL垢版2018/09/01(土) 20:30:03.52ID:???>>518 おれもそうおもったんだよね 抽出テーブルがサブクエリだとなおさらだな
2万件っていってるのは元データが2万なのか、 氏名で出力する行が2万件なのか(2万×最大3列=6万)なのかで結果がかわるけど、 どっちなんだろな 0520NAME IS NULL垢版2018/09/01(土) 20:58:07.07ID:???>>516 ありがとうございます。今一番早く出来たのがその形で、それで1時間掛かっています。
30万件から抜くクエリは1分程度なので、×3でいけると思っていたら1時間掛かるようになってしまい。 0521NAME IS NULL垢版2018/09/01(土) 22:02:50.69ID:???>>520 問題を切り分けたほうがいい気がしてきたけど、 @単純にデータを取得する場合の実行速度 select 氏名,エラー回数,エラー内容 from 抽出テーブル order by 氏名,エラー回数 Aエラー回数を列別に変換する場合の実行速度(>>510)を参考 select 氏名, Max(IIf(エラー回数=1,エラー内容,Null)) as エラー内容1, Max(IIf(エラー回数=2,エラー内容,Null)) as エラー内容2, Max(IIf(エラー回数=3,エラー内容,Null)) as エラー内容3 from 抽出テーブル group by 氏名 order by 氏名 これはどのくらいの実行時間なわけ?※Openして何もせずにループだけする 0522NAME IS NULL垢版2018/09/01(土) 22:05:12.33ID:4FUN7IZm いまなんの話題?3行で 0523NAME IS NULL垢版2018/09/01(土) 22:53:54.26ID:??? s q l 0524NAME IS NULL垢版2018/09/01(土) 23:00:11.61ID:???>>521 状況をきちんと伝えられていなくて申し訳ないです。
サーバーでログとってみたら? 0533NAME IS NULL垢版2018/09/04(火) 13:40:14.68ID:Md9f/krD>>532 MySQLと質問者は書いているのに、なんでXAMPPという何をどう使っているのかわからないくくりで答えているのか? 0534NAME IS NULL垢版2018/09/04(火) 13:45:29.38ID:Md9f/krD 改行コードを含む文字列の置換を言っているのか。単に改行コードがSQLの改行コードとみなされるような環境で発行してねえだろうなw 0535NAME IS NULL垢版2018/09/04(火) 20:40:30.85ID:??? 質問者もMySQLとしか書いてないので環境がよくわかんないから とりあえずMySQL使ってればなんでもいいかとおもって。 0536NAME IS NULL垢版2018/09/15(土) 02:10:48.09ID:??? 個人からの申請で、登録、変更、削除を受け付けます。 その時、変更だけしか申請していない人を抽出するSQLはどう書いたらいいですか。
変更と登録、変更と削除など、他の申請を出した人は除いて変更だけの人を抽出したいです。 0537NAME IS NULL垢版2018/09/15(土) 02:23:19.42ID:???>>536 そのDBシステムで、 受け付けた登録、変更、削除をどう扱っているか次第 0538NAME IS NULL垢版2018/09/15(土) 12:40:37.04ID:???>>536 そのテーブルのカラム名すらも書けないんならSQLいじるの止めたほうが良い 0539NAME IS NULL垢版2018/09/15(土) 13:28:08.11ID:???>>536 個人Id | 申請 ------+----- 001 | '登録' 002 | '登録' 001 | '変更' 002 | '削除' 003 | '変更' で003だけ欲しくてSQL-Server使ってるとエスパー select 個人Id from テーブル where 申請 = N'変更' except select 個人Id from テーブル where 申請 <> N'変更' 0540NAME IS NULL垢版2018/09/15(土) 17:44:40.73ID:RSsWpwqw 監査の話かと思った 0541NAME IS NULL垢版2018/09/15(土) 18:18:49.96ID:dWsaBm9G>>539 「SQL Server」を「SQL-Server」と書きたい理由を教えてくれ。 0542NAME IS NULL垢版2018/09/15(土) 20:31:26.68ID:Cd4+ZhgT 【ちびまる子、乳ガン】 モー娘がヒキ逃げなら <急に基準変更して逃走> トー電はベク逃げかな http://rosie.5ch.net/test/read.cgi/liveplus/1536979182/l50
関東の子供が、東電にベク逃げされて、棺桶が売れてる! 0543NAME IS NULL垢版2018/09/15(土) 20:41:56.63ID:???>>541 単なる好みだけどそれが何か? 0544NAME IS NULL垢版2018/09/16(日) 06:31:37.33ID:znPzt7LE 製品名は変換する目的は何か? 0545NAME IS NULL垢版2018/09/16(日) 08:31:26.77ID:??? お前みたいな日本語怪しいやつをあぶり出すため 0546NAME IS NULL垢版2018/09/18(火) 15:27:23.99ID:dZAMkAe5 固有名詞を改変したら駄目だろう 0547NAME IS NULL垢版2018/09/18(火) 23:19:39.80ID:EwCoq+cp ええやろw 0548NAME IS NULL垢版2018/09/19(水) 01:25:54.61ID:??? 商標権を侵害してるな 0549NAME IS NULL垢版2018/09/19(水) 11:22:26.10ID:SAO4z521 半角スペース恐怖症なんだろうな。 0550NAME IS NULL垢版2018/09/19(水) 19:30:55.56ID:??? 誰でも間違いはある 気にするな 0551NAME IS NULL垢版2018/09/19(水) 21:03:38.93ID:f2yuv0SC 製品名を正しく書けないやつはたいてい危険人物。だいたいよくわかっていない。 0552NAME IS NULL垢版2018/09/19(水) 23:26:57.94ID:UE0WOPkY なんやこの病的すぎるバカw 0553NAME IS NULL垢版2018/09/20(木) 08:02:36.86ID:??? 内容に突っ込めないから製品名に突っ込むしかないんだろ どうでもええわ 0554NAME IS NULL垢版2018/09/21(金) 14:45:01.05ID:wlRN+aGs お客相手に間違えなくて良かったじゃないか 0555NAME IS NULL垢版2018/09/21(金) 15:39:47.79ID:??? ところで、IDが出てたり出てなかったりするのは何故? 0556NAME IS NULL垢版2018/09/21(金) 21:51:00.56ID:???>>554 そんなもんを気にしてるお客なんてお前の脳内にしかいないけどなww 0557NAME IS NULL垢版2018/09/21(金) 21:52:53.93ID:???>>555 sageかどうかでしょ そもそもsageてない奴のレスは見る価値ないし 0558NAME IS NULL垢版2018/09/21(金) 22:45:10.80ID:LJZuek3J 責任をとりたくない奴は、IDを隠すってこと 0559NAME IS NULL垢版2018/09/21(金) 23:13:57.63ID:??? 責任? w 0560NAME IS NULL垢版2018/09/21(金) 23:43:14.92ID:J7Fz2JlS 図星に脊髄反射しとる奴、おる? 0561NAME IS NULL垢版2018/09/22(土) 07:06:16.16ID:??? 図星に脊髄反射しとる奴 ⇒ >>5580562NAME IS NULL垢版2018/09/22(土) 13:24:41.08ID:/G0Wh7Kz>>557 いまどき上げ下げかw 0563NAME IS NULL垢版2018/09/22(土) 19:23:47.16ID:??? sageるのって荒らしに見つからんようにとかそんな理由だったっけ? 今だと勢い順か新しい順、あるいはスレ検索して見るからもう完全に意味ないよな、わざわざ荒らすやつも激減してるし ましてこんな過疎版じゃ気にするだけ無駄 0564NAME IS NULL垢版2018/09/22(土) 20:12:24.86ID:??? 質問スレだと、質問者は必ずageてって板もある ID出た方が成りすましを防げるからやり取りで 混乱しなくて良いと言う側面もある 0565NAME IS NULL垢版2018/09/23(日) 10:30:22.73ID:??? 質問スレはそんなルールあったね sageるとID出ないのはDB板の仕様か 技術的な話をするんだから一律IDつけたほうが勝手がいいと思うけどなあ 専ブラがデフォルトsageになってていちいち削除すんのもめんどいし 0566NAME IS NULL垢版2018/09/29(土) 20:35:17.15ID:W8T9QA3v 質問するのでIDありで・・・ リレーショナルデータベース=JOINで複数のテーブルをまたいでクエリを投げられる
という意味? 0567NAME IS NULL垢版2018/09/29(土) 20:51:07.76ID:??? リレーションってのは要はテーブルだ。 リレーションでできているデータベースだからリレーショナルデータベース。 0568NAME IS NULL垢版2018/09/29(土) 21:24:57.55ID:W8T9QA3v レスありがとう。 リレーショナルではないデータベースというのは、テーブルでは無いデータベースが想像つかないな・・・。 二次元的なものではなく、テキストに羅列されているだけという感じだろうか。 昔pc-98で桐ver2とか名前だけは知っていたけど、あの頃はすでにテーブルという概念があったのかしら? 0569NAME IS NULL垢版2018/09/29(土) 21:34:54.80ID:9EBEb433 すごい会話だなw 0570NAME IS NULL垢版2018/09/29(土) 21:36:14.75ID:9EBEb433>>568 自作自演? 0571NAME IS NULL垢版2018/09/29(土) 21:38:54.14ID:???>>568 桐もDBASEもリレーショナルデータベースだな テーブルであるならそうかといえば、ちょっと違う
複数のテーブルを関係性で紐付けが出来るなら リレーショナルデータベースと呼んで良いと思う
Excelの表はテーブルだけど誰もそうは呼ばないしな 0572NAME IS NULL垢版2018/09/29(土) 22:03:17.34ID:??? 情報処理試験とかデータベースの勉強をすれば初めの方で説明されているはずだけど、 リレーショナルの前には階層型やネットワーク型といったデータベースの形式があった。
ついでに言えば、リレーショナルデータベースには「複数のテーブル」などという要件はない。 複数のテーブルはその直積である1テーブルと等価なんで。 0573NAME IS NULL垢版2018/09/29(土) 23:12:42.69ID:9EBEb433 なんか変な素人が出てきたなw 0574NAME IS NULL垢版2018/09/29(土) 23:27:01.69ID:??? 普通はRDBMSと言えばリレーショナルデータモデルを表現できるだけでなく ACID特性を備えるのが必要条件とされる 最近流行りのNoSQLなんかはリレーショナルデータモデルを表現するものではない上に ACID特性のいずれかを満たさないのが普通だったりする 0575NAME IS NULL垢版2018/09/29(土) 23:29:52.65ID:9EBEb433 NoSQLが最近ものだと?
タイムマシンで過去から来た人間の書き込み? 0576574垢版2018/09/30(日) 00:54:24.60ID:??? しまった 自ら正解を出すことはできず文句しか言わない人に絡まれてしまった 0577NAME IS NULL垢版2018/09/30(日) 01:17:21.17ID:??? NGにすると吉 0578NAME IS NULL垢版2018/09/30(日) 09:28:56.36ID:??? おまえらが知る前から俺は使ってるんだ( ・`ー・´) + 0579NAME IS NULL垢版2018/09/30(日) 14:41:59.34ID:???>>574 RDBとDBMSの区別がつかないなら、ややこしくなるだけだから黙っとけな 0580NAME IS NULL垢版2018/09/30(日) 22:46:54.70ID:??? プライマリキーをフォーリンキーにすることはできますか? 0581NAME IS NULL垢版2018/10/01(月) 00:24:20.26ID:??? できるが変な設計だなとは思う 0582NAME IS NULL垢版2018/10/01(月) 12:38:28.99ID:???>>581 時系列データのテーブルが2つあって 時間をフォーリンキーにしたいんですけどおかしいですか? 0583NAME IS NULL垢版2018/10/01(月) 12:51:24.62ID:Q6K7qC3N>>580 単に1対1のテーブルだからおかしくはない。 0584NAME IS NULL垢版2018/10/10(水) 11:28:56.03ID:??? インデックスが使われるSQL文の書き方というのは、例えば出庫データに 商品コード順+出荷日順+伝票番号順というインデックスを作っておいて SELECT * FROM 出庫データ WHERE 商品コード='A01' ORDER BY 商品コード, 出荷日, 伝票番号 みたいにするとレスポンスが速くなるということでしょうか? 0585NAME IS NULL垢版2018/10/10(水) 21:59:19.97ID:G1VCUlYl>>584 プラス記号の意味がよくわからんが CREATE INDEX(商品コード,出荷日,伝票番号) という複合主キーを作成すると 例示のSQLは速くなるだろうが ただしインデックスの順序と異なる ORDER BY 出荷日,商品コード などと場合は効かない 0586NAME IS NULL垢版2018/10/11(木) 11:55:45.37ID:???>>585 ありがとうございます 0587NAME IS NULL垢版2018/10/11(木) 23:22:18.86ID:LDSiJwGe>>584 忠告しておくが、インデックスが使われるSQLを書くのではなくて、問い合わせの内容とインデックスが必要かどうかを考えてSQLを書く。
SQLがこうだから、このSQLはこのインデックスが使われるとSQLだけでは言いきれない。 0588NAME IS NULL垢版2018/10/11(木) 23:32:44.06ID:ppvirY+z>>586 複合主キーじゃないわ複合インデックスね
>>587の言うように 実際に効くかどうかは実行計画で決まるので インデックスを使ったかどうかは 実際の実行計画を取得しないとわからない オプティマイザが意図したインデックスを使ってくれない場合 ヒントで特定インデックス使用を強制することもDBMSによっては可能 0589NAME IS NULL垢版2018/10/13(土) 19:43:23.58ID:???https://imgur.com/FAF05na.jpg0590NAME IS NULL垢版2018/10/14(日) 17:09:16.28ID:EhhxMLoo 常にサクラのサイトが応援している ノーザンコペルニクス https://mevius.5ch.net/test/read.cgi/blog/1538500447/0591NAME IS NULL垢版2018/10/14(日) 20:22:51.35ID:??? 私たち日本人の、日本国憲法を改正しましょう。 『憲法改正國民投票法』、でググってみてください。 (へいわ)は、勝ち取るものです。拡散も含め、お願い致します。 0592NAME IS NULL垢版2018/11/01(木) 06:26:01.46ID:imTVWlJr 質問です。 以下のようなテーブルがあったとします。 id|name ------ 0|aaa 1|bbb 2|ccc
aaa,bbb,ddd,eeeを呼び出し側から与えて、nameにない項目(dddとeee)を取得したいです。 こういう場合どのように書けばよいでしょうか。 擬似的にaaa,bbb,ddd,eeeの項目をテーブルのように扱えればできそうですが、やり方がわかりません。 SQLiteを使っていますが、汎用的な書き方でできればしたいです。 よろしくおねがいします。 0593NAME IS NULL垢版2018/11/01(木) 09:10:57.14ID:???>>592 case when thenとかは? 0594NAME IS NULL垢版2018/11/01(木) 11:56:15.87ID:??? 汎用的には、テーブルを作ってしまうのが良いと思う 0595NAME IS NULL垢版2018/11/01(木) 12:45:48.88ID:pgw6fBBH SELECT a.empno<br /> ,a.ename ,a.job ,b.ename AS 'mname' FROM emp a ,emp b WHERE a.mgr = b.empno; このようなSQLを書いたのですが、SELECTのAS句が機能しません。どうすれば機能しますか? 0596NAME IS NULL垢版2018/11/01(木) 13:00:22.93ID:??? 'mname' の囲みいらない 0597NAME IS NULL垢版2018/11/01(木) 14:17:52.92ID:imTVWlJr 意見ありがとうございました。 汎用的なのは諦めて、SQLiteでは以下で疑似的なテーブルができるようなので、これをもとにSQLを考えていこうと思います。 WITH t(name) AS (SELECT * FROM (VALUES ("aaa"), ("bbb"), ("ddd"))) SELECT * FROM "t"; 0598NAME IS NULL垢版2018/11/01(木) 19:59:14.73ID:vMwdzdp/>>595 行頭に,を書く悪習はいいかげんヤメロ 0599NAME IS NULL垢版2018/11/01(木) 21:02:02.93ID:??? 行頭に,を書くとどういう問題があるんだ? 0600NAME IS NULL垢版2018/11/01(木) 21:32:48.31ID:vMwdzdp/>>599 ヴィジュアル的に認識しにくい 0601NAME IS NULL垢版2018/11/01(木) 21:50:22.90ID:??? まさかそれだけ? 0602NAME IS NULL垢版2018/11/02(金) 09:06:50.55ID:???>>599 見た目にブサイク (個人の感想です) 0603NAME IS NULL垢版2018/11/02(金) 09:48:07.02ID:??? 膨大なカラム数があって、スクリプトで処理しているときには都合が良いかもしれないが、 手作業で編集する分にはどっちでもいい気がする 0604NAME IS NULL垢版2018/11/02(金) 12:32:46.28ID:c/Fx/3hC コードは読むもんだと教わらんかったんかおまえら? ヴィジュアル問題の大切さがいまいちわかっとらんな 0605NAME IS NULL垢版2018/11/02(金) 13:13:36.22ID:DS+sU5kd 前カンマの方が打ち忘れが減るので 自分はこちらのヴィジュアルが合っているらしい 0606NAME IS NULL垢版2018/11/02(金) 19:10:39.71ID:ckbyV4Q5 それヴィジュアルちゃうやんw 0607NAME IS NULL垢版2018/11/02(金) 19:39:46.15ID:??? 前にカンマの方がコメントアウトする時に楽 0608NAME IS NULL垢版2018/11/02(金) 22:38:08.71ID:ckbyV4Q5 だからヴィジュアルちゃうやんそれ しかもどっちゃでも変わらんしw 0609NAME IS NULL垢版2018/11/02(金) 22:53:44.45ID:??? カンマの忘れとか、余分なカンマとか、割とよくやるw