X



トップページDB@2ch掲示板
1002コメント319KB

SQL質疑応答スレ 18問目

■ このスレッドは過去ログ倉庫に格納されています
0001NAME IS NULL
垢版 |
2018/01/04(木) 22:12:22.14ID:???
このスレは
「こういうことをやりたいんだけどSQLでどう書くの?」
「こういうSQLを書いたんだけどうまく動きません><」
などの質問を受け付けるスレです。

SQLという言語はISOによって標準化されていますが
この標準を100%実装したDBMSは存在せず、
また、DBMSによっては標準でない独自の構文が
追加されていることもあります。

質問するときはDBMS名を必ず付記してください。

【質問テンプレ】
・DBMS名とバージョン
・テーブルデータ
・欲しい結果
・説明

前スレ:
SQL質疑応答スレ 17問目
https://mevius.5ch.net/test/read.cgi/db/1468157341/
0792NAME IS NULL
垢版 |
2019/02/24(日) 15:40:30.55ID:???
いわゆる結合条件のことだろう。
θ結合は直積から選択するのと等価なんでSQL89まではそういう風に表現してた。
0793NAME IS NULL
垢版 |
2019/02/24(日) 16:01:11.52ID:???
Oracleに限って言えばシステム内部で組み込まれてるビューは
今でもWHERE句の結合だけじゃないかと思えるレベル
0794NAME IS NULL
垢版 |
2019/02/24(日) 18:37:09.51ID:SaGWUbss
>>791
ちゃんと製品のマニュアルを見たことがあるのか?

SQLの歴史上、結合条件はWHERE句に書き、FROM句には書けなかった。
0795NAME IS NULL
垢版 |
2019/02/24(日) 18:58:58.79ID:???
>>794
マニュアルなんてあるんだ
見たことないよ
0797NAME IS NULL
垢版 |
2019/02/24(日) 19:00:52.96ID:???
>>794
勉強んなるわ
でもFROMに書けるんだから今はWHERE句に書く必要もうないってことだよね?
0798NAME IS NULL
垢版 |
2019/02/24(日) 19:03:50.83ID:???
最初に現場でoracleを習って
そこでは(+)が多用されていた
その後外部結合というのを習ったけど
join句、いまだに使い方慣れなくて困る
0799NAME IS NULL
垢版 |
2019/02/24(日) 19:06:24.07ID:???
へぇー
じゃあぶっちゃけ今はJOINから入っちゃった方が無駄がないのかな?
0800NAME IS NULL
垢版 |
2019/02/24(日) 20:40:22.59ID:???
初心者はまずJOINだけを覚えた方が良いと思う
0802NAME IS NULL
垢版 |
2019/03/10(日) 11:15:16.36ID:Q3ybtzHt
社員テーブルに以下の5カラムがあります。すべてnot nullカラム。
社員id(主キー)、氏名、所属部署、入社年度、生年月日
社員idはランダムで採番されます。

このとき、
所属部署ごとに以下を満たす1人の氏名と生年月日を抽出するとき、
どのようなSQLが考えられますか?
・入社年度が最も過去
・それが複数人居る場合は、その中で社員idが最大の社員

お力添えよろしくお願い致します。
0803NAME IS NULL
垢版 |
2019/03/10(日) 11:25:40.65ID:???
FROM 社員テーブル T1
WHERE NOT EXISTS (
SELECT * FROM 社員テーブル T2
WHERE T2.所属部署 = T1.所属部署
AND (
T2.入社年度 < T1.入社年度
OR T2.入社年度 = T1.入社年度 AND T2.id > T1.id
))
0805802
垢版 |
2019/03/10(日) 12:06:30.08ID:Q3ybtzHt
803さんのはまだ試してないですが、
group byとhavingで2回絞るのは無理ですかね?
0806NAME IS NULL
垢版 |
2019/03/10(日) 13:00:21.03ID:???
>>802
つかってるDBMSかけ

SELECT * FROM(
SELECT
ROW_NUMBER() OVER( PARTITION BY 所属部署 ORDER BY 入社年度,社員id DESC) as 順位,
*
FROM 社員テーブル
) t
where t.順位=1


ウィンドウ関数使えないようなら、サブクエリ3段とかで出来そうだが
0807802
垢版 |
2019/03/10(日) 13:27:49.35ID:???
>>806
ありがとうございます、勉強になりました。
SQL serverです。
0808NAME IS NULL
垢版 |
2019/03/10(日) 13:47:03.15ID:???
MySQLで

select max(`社員id`),`氏名`,`所属部署`,`入社年度`,`生年月日`
from `社員テーブル`
where (`所属部署`,`入社年度`) in
(select `所属部署`,min(`入社年度`) from `社員テーブル`
group by `所属部署`)
group by `所属部署`;
0809NAME IS NULL
垢版 |
2019/03/10(日) 16:06:47.18ID:???
>>806
Row_Number wwwwwwwwwwww
0810NAME IS NULL
垢版 |
2019/03/10(日) 16:08:11.04ID:???
>>806
そういう使いもんならないの教えんのやめ
0811NAME IS NULL
垢版 |
2019/03/10(日) 21:01:07.81ID:g5zHpNPp
これから仕事で必要になるためSQL勉強しています。
皆さんはどうやって勉強していますか?

現在SQLBoltってサイトで勉強しています。
覚えが遅いためなかなか覚えられません。
一応ExcelのVBAはできます。
勉強法がわからないのでAccess VBA Standardの資格で勉強した方がいいでしょうか?
0812NAME IS NULL
垢版 |
2019/03/10(日) 21:45:35.27ID:???
プログラム言語と違って、何か適当な例題があるわけじゃないし、
割と実践的に体で覚える感じでした
SQLを使用するソフトによって多少、あるいは大きく違ったりするので
SQLをどういう所で使いたいか、ソフトに何を使うかを見極めて学習すると
効果的かも知れません
それから、SQL言語はVBAとは異なるものです
0814NAME IS NULL
垢版 |
2019/03/10(日) 21:52:55.29ID:???
>>812
使いものになるまでの所要期間だいたいどれくらい?
0815NAME IS NULL
垢版 |
2019/03/10(日) 21:59:42.65ID:???
命がけで取り組めば半年もあればなんとかなります
0816NAME IS NULL
垢版 |
2019/03/10(日) 22:06:53.55ID:???
>>815
すみません横から失礼いたします。
業務上必要に迫られ勉強することになりました。
環境は会社で用意されてますが前任者が居なくなってしまう為、ゼロから始めて1ヶ月半でモノにしろと言われています。
命がけで半年ですか…胃が痛くなってきました。
1ヶ月半など無茶苦茶な要求と言えそうですね(泣)
ちなみにエンジニアさんですか?当方非エンジニアです。
0817NAME IS NULL
垢版 |
2019/03/10(日) 22:10:58.93ID:???
複雑さの程度にもよりますから
簡単なものでしたら、1か月も掛からずに習得は出来るでしょう
担当する業務の内容次第です
0818NAME IS NULL
垢版 |
2019/03/10(日) 22:19:54.37ID:???
>>817
レスありがとうございます。
段階にもよりますね。
予定されているものを見たところサブクエリ5〜7つ、最後で結合するという説明でした。
かなり長くこんなの書けるのだろうかと気が遠のきました。
テーブルの挿入などはなさそうです。
0819NAME IS NULL
垢版 |
2019/03/10(日) 23:06:33.52ID:g5zHpNPp
>>812
私はあまり覚えがよいほうじゃないので、業務が始まる前に
勉強して基本的な知識をつける予定でしたが、
やはり実務をこなして体で覚えるほうが早いのですね。
レスありがとうございます。

>>813
レスありがとうございます。
ゲーム会社で簡単なデバック作業をしています。

SQL覚えるのに半年もかかるのですね。
皆様色々教えてくれてありがとうございます。
0820NAME IS NULL
垢版 |
2019/03/10(日) 23:10:57.13ID:???
>>819
818です。横から質問奪ってたいへん失礼しました。
ちょうど同じような境遇でしたもので。
思ったよりもSQLを身につけるのは時間がかかりそうで覚悟せねばと思いました。
お互い頑張りましょう。
0821NAME IS NULL
垢版 |
2019/03/10(日) 23:31:28.45ID:g5zHpNPp
>>820
いえいえ失礼なんて、とんでもないです。
私もSQLを覚えるのがこんなに時間がかかるとは思いませんでした。
大変だと思いますが、お互い頑張りましょう。
0822NAME IS NULL
垢版 |
2019/03/10(日) 23:50:17.33ID:???
>>811
仕事で必要になるならその仕事で使うDBMS使えばいいと思うが
大抵のDBMSは無償版提供してるし
0823NAME IS NULL
垢版 |
2019/03/11(月) 00:01:23.59ID:???
このスレの先頭、>>3-10辺りをすらすらと書けるようになれば
大体の業務はこなせるんじゃないかな?w
0824NAME IS NULL
垢版 |
2019/03/11(月) 00:03:27.75ID:???
分からなくなったらここで聞いてみると良いですが、
その際に、ソフトに何を使っているかを書いて欲しいです
ソフトによって使えたり使えなかったりするものがあります
0825802
垢版 |
2019/03/11(月) 01:04:25.55ID:D8ZFjyx6
Sybase ASEだとOLAP関数サポートなく、
806さんのムリでした

一番エレガントだと思ったのに
0826NAME IS NULL
垢版 |
2019/03/11(月) 03:02:21.27ID:???
初心者の質問続きとなっているようですみませんがお願いします
「SQLの基本構文を書くことができる」というとどういった範囲になりますか?
0827802
垢版 |
2019/03/11(月) 03:57:23.23ID:wSBvFW/D
>>803
望んだ結果が出ました。
ありがとうございました。

社員テーブルに該当するものが複数テーブルから構成されたサブクエリだとかなり重くなりました。
0828NAME IS NULL
垢版 |
2019/03/11(月) 11:49:18.57ID:???
Select文のasに( )を使いたいのですが、どうかけばいいでか?
0829NAME IS NULL
垢版 |
2019/03/11(月) 12:26:03.33ID:???
ダブルクォートで括るのが普通だが
角括弧やバッククォートを使うDBMSもある
0830NAME IS NULL
垢版 |
2019/03/11(月) 13:16:00.18ID:???
>>828
そういったあんた個人のわがままが通ったとして、
で、ユーザー(つまり結果)に優位性があるのか?
0831NAME IS NULL
垢版 |
2019/03/11(月) 13:27:39.34ID:???
>>829
レスありがとうございます。
使ってるのはpostgresqlてすが、" ではダメみたいです。

>>830
As 時間 としていたところ、ユーザーから 時間(分) と表示して欲しいとの要望かありました。
()は特殊な文字てあることは理解していますが、何らかの策があるのではと質問したのですが。あまりに非常識なようでしたら諦めます。
0832NAME IS NULL
垢版 |
2019/03/11(月) 14:38:08.55ID:???
postgresなら"でいいはず
なんらかのプログラミング言語を介して使っているなら
そのプログラミング言語に対して"をエスケープしなければならない
0833NAME IS NULL
垢版 |
2019/03/11(月) 15:02:14.67ID:???
>>832
すみません、アホなことしてました。
時間"("分")" って…
"時間(分)"でokでした。
0834NAME IS NULL
垢版 |
2019/03/12(火) 15:55:28.54ID:wb2Tlo5B
まもなく日本から世界経済が崩壊し、世界教師マYトレーヤとUFOが出てくる。
それからベーシックインカムがはじまるので、20年間ヒキコモリの人でも死にはしない。
むしろ、心配するなら被曝のほう。

【メルトダウンA級戦犯】 『非常用発電機』安倍が放置  『非常用空冷回路』小泉が撤去  死刑求刑
https://rosie.5ch.net/test/read.cgi/liveplus/1552357792/l50
0835NAME IS NULL
垢版 |
2019/03/20(水) 08:25:55.58ID:???
ロジックどこまでSQLにするのが正解?
0836NAME IS NULL
垢版 |
2019/03/20(水) 08:52:06.23ID:IPQHQif1
>>835
できるだけSQLには詰め込まない。
0837NAME IS NULL
垢版 |
2019/03/23(土) 10:38:46.25ID:???
何個までテーブル結合する?
0838NAME IS NULL
垢版 |
2019/03/23(土) 10:48:20.01ID:???
>>837
必要なだけ
経験としては10個ぐらいまでやったことある
0839NAME IS NULL
垢版 |
2019/04/06(土) 16:59:18.80ID:???
テーブル
No1 No2 No3 No4 No5 No6 No7 No8
data1 A B A A A C B A
data2 A A A A A A B B
data3 C C C A B A A A
data4 A A C C A B A B
data5 A A B A A B B A
data6 A C C A C C A A

ほしい結果
A B C
data1 5 2 1
data2 6 2 0
data3 4 1 3
data4 4 2 2
data5 5 3 0
data6 4 0 4


横方向にA,B,Cの数をカウントしたいですが、SELECT文のみで実施するとしたらどういったクエリになりますか?
oracle12です。
0840NAME IS NULL
垢版 |
2019/04/06(土) 18:34:14.74ID:zJrZyIQq
>>839
Excelでやれば?
0841NAME IS NULL
垢版 |
2019/04/06(土) 18:34:35.19ID:???
select
No1,
((case No2
when A then 10000
when B then 100
when C then 1
end)
+(case No3 ……)
+……)
from テーブル
0842NAME IS NULL
垢版 |
2019/04/06(土) 20:48:36.77ID:???
>>839
スマホだから試してないけど
(セレクトはselectに置換えてくれ)
セレクト
T.data as data,
sum(case T.NO when 'A' then 1 else 0 end) as A,
sum(case T.NO when 'B' then 1 else 0 end) as B,
sum(case T.NO when 'C' then 1 else 0 end) as C
from (
セレクト data, NO1 as NO from table
union all
セレクト data, NO2 as NO from table
(* 中略 *)
union all
セレクト data, NO8 as NO from table
) T
group by T.data
0843NAME IS NULL
垢版 |
2019/04/06(土) 22:02:53.39ID:???
>>840
>>841
>>842
レスありがとうございます。

>>841
ちょっと理解できませんでした。

>>842
やはり、UNION ALL使うぐらいしかないんですね。
少し調べて全く同じものまではたどり着けました。
NOが200ぐらいあるのですが、テーブルの設計自体を見直したほうがよさそうですね。
0844NAME IS NULL
垢版 |
2019/04/06(土) 23:57:44.63ID:zJrZyIQq
>>843
そもそもその表で管理しようとしているところが天才
0846NAME IS NULL
垢版 |
2019/04/07(日) 11:10:36.22ID:???
>>845
ありがとうございます。
ちょっと調べてみます。

>>844
うん。わかってる。
ほんとはこういったテーブルにしたいのだけど、毎日のレコード数が凄いことになっちゃうなーって。
別に集計されたテーブルを作ることを検討します。

data_ No rank
data1 No1 A
data2 No1 A
data3 No1 C
data4 No1 A
.
.
.
data1 No8 A
data2 No8 B
data3 No8 A
data4 No8 B
data5 No8 A
data6 No8 A
0847NAME IS NULL
垢版 |
2019/04/07(日) 12:44:56.58ID:???
>>846
> 毎日のレコード数が凄いことになっちゃうなーって。
どんなシステムかわからんけど今時そこら辺のPCでも100万レコード程度は普通に扱えるしOracleでそこそこのサーバー入れてりゃ1億件程度でも破綻しないよ
0848NAME IS NULL
垢版 |
2019/04/07(日) 14:24:50.93ID:???
>>847
1次元配列だと200万レコード/日ぐらいが想定されるので、少し厳しいのかなと感じています。
集計前・集計後のどちらもが必要なので、各々のテーブルを作るのが良さそうですかね。
0849NAME IS NULL
垢版 |
2019/04/07(日) 14:33:05.24ID:???
項目にsumA、sumB、sumCを追加しておいて
レコード挿入時に集計しておけば良いのではないか?
0851NAME IS NULL
垢版 |
2019/04/07(日) 14:49:06.95ID:???
select
No1
,decode(No2,A,1,0)+decode(No3,A,1,0)+…+decode(No8,A,1,0) As Acnt
,decode(No2,B,1,0)+decode(No3,B,1,0)+…+decode(No8,B,1,0) As Bcnt
,decode(No2,C,1,0)+decode(No3,C1,0)+…+decode(No8,C,1,0) As Ccnt
from テーブル
0852NAME IS NULL
垢版 |
2019/04/07(日) 19:59:58.82ID:XK0411W4
20年前のPCの感覚で考えているんだろうな。しかも巨大Excel風がお好みらしいから無視が一番。
0853NAME IS NULL
垢版 |
2019/04/07(日) 20:08:22.18ID:???
糞メーカー製品のせいでテーブル変えられないって訳でもなく、自分でそういう設計にしてるならしょうがないね
0854NAME IS NULL
垢版 |
2019/04/07(日) 20:31:56.17ID:???
decodeとかOracleしか使えないのよりcase when
で記述していったほうがよくね
0855NAME IS NULL
垢版 |
2019/04/07(日) 21:47:20.06ID:mpDpVIK/
いじめはどこの町にもあるが島本町は特に酷い
「大阪府三島郡島本町のいじめはいじめられた本人が悪い 」なんて
公言する町は他に無い
0856NAME IS NULL
垢版 |
2019/04/07(日) 22:22:31.97ID:???
Oracle 12 なら VARRAY とかでもいいかも
ただ操作する関数は貧弱なのでストアド必須になると思うが
0857NAME IS NULL
垢版 |
2019/04/07(日) 23:49:47.59ID:+nydsyOL
>>856
知識がないのになんで無理やり書き込むの?
0858NAME IS NULL
垢版 |
2019/04/08(月) 02:31:15.60ID:n+bY9Kjk
Postgres11を使用しています。

3700万行程のテーブルの中途半端な位置に行を追加したいのですが、
通し番号の昇順を維持するにはどうすればよいでしょうか?

こんな構造です。
----------------------------------
主キー | 本文(最大3MB程度)) | 通し番号
----------------------------------

今はこうなっているとします。
--------------------
0001 | あいうえお | 0001
0003 | さしすせそ | 0002
0004 | たちつてと | 0003
--------------------

ここに、1行追加して、以下のように変更したいです。
--------------------
0001 | あいうえお | 0001
0002 | かきくけこ | 0002
0003 | さしすせそ | 0003
0004 | たちつてと | 0004
--------------------
0859NAME IS NULL
垢版 |
2019/04/08(月) 03:17:37.68ID:???
>>858
この穴埋め問題はよく話題になるんだけど、やりたいなら最初からそう設計して採番しないとキレイにできないんだよ。後からやるならアプリ側で調整したほうがうまくいく。主キーならとくに。
0860NAME IS NULL
垢版 |
2019/04/08(月) 03:24:20.28ID:kcf+7C4K
>>858
UPDATE テーブル
SET 通し番号=通し番号+1
WHERE 通し番号 > 2
とかではなくて?
0861NAME IS NULL
垢版 |
2019/04/08(月) 05:05:10.99ID:???
>>858
update テーブル t1
set 通し番号 = (select Rank
from (select 主キー,
Row_Number() over(order by 主キー) as Rank
from テーブル) t2
where t1.主キー = t2.主キー);
0863NAME IS NULL
垢版 |
2019/04/08(月) 22:21:43.69ID:???
主キーには空きがある前提なのか?
その例だと通し番号要らんように見えるぞ
0864NAME IS NULL
垢版 |
2019/04/16(火) 07:28:34.74ID:???
超初心者の質問で申し訳ないですが

SQLで
顧客情報、順路表から計算して
申請書を作る
医療関係のデータベースは作れますか?
0865NAME IS NULL
垢版 |
2019/04/16(火) 07:47:16.31ID:???
>>864
要件が不足しています
計算とは?

2つ表から単に申請書に必要なデータを抜いてくるだけなら当然つくれます
0866NAME IS NULL
垢版 |
2019/04/16(火) 12:29:02.43ID:???
>>865
すいません

もう少し詳しく書くと

■顧客情報
A受けている治療内容 (〇〇円)
■順路表
B患者を何回いった(〇〇回)
C前の患者との距離(〇〇km)
■申請書
A、B、Cの数字を元に
四則計算して
それぞれの箇所に数字を入力
して申請書を作成
できるデータベースです
0867NAME IS NULL
垢版 |
2019/04/16(火) 12:29:36.88ID:???
>>865
あと
順路表を前月と同じ内容を
翌月にコピーできますか?

※4/1(月曜) Z→E→F
4/2(火曜) L→E→M
なら
5/6(月曜)) Z→E→F
5/7(火曜)L→E→M
0868NAME IS NULL
垢版 |
2019/04/16(火) 12:30:58.01ID:???
>>865
現在はEXCELでやっていて
重すぎるので何か手はないか
と考えているところです
0869NAME IS NULL
垢版 |
2019/04/16(火) 14:26:35.70ID:???
SQLでできるかというより
これは医療向けアプリじゃないの?
ACCESSで作れますかという話かね
索引とか使えば検索を早くできるからたぶんマシにはなるしデータの複製もできる

発想を跳躍させて
Z、E、Fとか未定義で最短経路問題なのかすら怪しいけど
経路ならグラフデータベースとかある
0870NAME IS NULL
垢版 |
2019/04/16(火) 22:05:17.16ID:???
>>869
返信ありがとうございます

Eさんの4月分の申請書を作成するときは
4/1はZ→Eの最短距離
4/2はL→Eの最短距離
で計算します

※Excelでは最短距離だけのシートがあり
Z→Eとすると4/1は最短距離だけのシート
から情報を抜き出しZ→Eの最短距離で計算します

Accessで作れますか?
調べたら
Excelと同じOfficeですし
SQLもあるそうですね
それと
検索機能とかでスピードアップ期待
データの複製はしやすそうですね
0871NAME IS NULL
垢版 |
2019/04/18(木) 12:50:12.86ID:???
現状のスタイルを頑なに守るよりも、市販のパッケージに業務形態を合わせたほうが幸せになれると思う。
0872NAME IS NULL
垢版 |
2019/04/19(金) 03:51:41.96ID:YxPtsFlc
SELECT key, 名前, 住所, 電話番号
FROM usertable
WHERE (key = (SELECT MAX(key) AS EXPR1 FROM usertable usertable_1))

このSQLは何をしているのでしょうか?
特に、EXPR1が分からないのと、FROM後に、DBには存在しないusertable_1というテーブルが指定されているのが理解出来ません。
0873NAME IS NULL
垢版 |
2019/04/19(金) 05:43:22.57ID:???
>>872
EXPR1はMAX(key)の項目名、
usertable_1はusertableの一時的な名前
と名前を付けているだけです

このSQLの場合は特に名前を付ける意味はありません
0874NAME IS NULL
垢版 |
2019/04/19(金) 12:05:23.81ID:9Q8CShQD
>>872
無駄なテーブル別名、カラム別名があり、さらに無駄な括弧がある。

こうなった経緯は読み取れない。
0875NAME IS NULL
垢版 |
2019/04/19(金) 12:29:57.43ID:???
項目別名はけっこうasつけるひと多いな
テーブル別名にはみんなつけないけど
0876NAME IS NULL
垢版 |
2019/04/19(金) 12:30:53.73ID:???
テーブル別名にAsあったっけ?
0877NAME IS NULL
垢版 |
2019/04/19(金) 12:40:53.05ID:???
>>871
ならない
他業界しかやってないやつに
現場の気持ちはわからない

どんなソフトよりも
自分のExcelが一番
今後さらに良くするための質問
0878NAME IS NULL
垢版 |
2019/04/19(金) 19:23:24.52ID:???
SQL標準では昔から列別名もテーブル別名もASをつけて良いのだが
なぜかOracleでは昔からテーブル別名にASをつけられない
0879NAME IS NULL
垢版 |
2019/04/20(土) 00:53:28.87ID:5u+C7Ddr
>>878
それは誤り。Oracle Databaseでは特定のバージョンだけASを使用できないものがあった。
0881NAME IS NULL
垢版 |
2019/04/22(月) 16:40:13.06ID:???
ExcelのクエリはASで別名付けても無視するのが残念
0882NAME IS NULL
垢版 |
2019/04/22(月) 16:48:58.86ID:HR8wVegr
>>881
ExcelのSQL操作はおまけ機能みたいだからなあ。特定の文字が使えなかったりとタチが悪い。
0883881
垢版 |
2019/04/25(木) 16:05:43.06ID:???
すまん。現行バージョンでは反映されてた。
0884NAME IS NULL
垢版 |
2019/04/27(土) 16:07:30.36ID:Nn9s9qmX
>>883
現行バージョンとは何?
0885NAME IS NULL
垢版 |
2019/04/27(土) 16:08:45.89ID:???
ORACLEの現行つったら18c
0886NAME IS NULL
垢版 |
2019/04/27(土) 16:44:04.96ID:???
Excelの話じゃないのか?
0887NAME IS NULL
垢版 |
2019/04/27(土) 16:48:39.97ID:???
国語の勉強しましょう
0888NAME IS NULL
垢版 |
2019/04/27(土) 19:08:41.10ID:???
そもそもデータベースが何かを理解してないな
表計算ソフトとは別物
計算や出力が必要ならプログラム書く必要がある
0889NAME IS NULL
垢版 |
2019/05/01(水) 12:23:44.69ID:???
ウェブのニュースを集めてとにかくデータベースに放り込み必要なものを取り出すことをしていたのですが
先日からこのようなエラーが出てデータを取り出した結果が取れなくなりました
データが取れることもありますがたまにうまく行くといった感じです

エラー:[MySQL][ODBC 5.3(w) Driver][mysqld-5.7.16]Query execution was interrupted, maximum statement execution time exceeded
コード:80004005
ソース:Microsoft OLE DB Provider for ODBC Drivers

データベースのサイズは2GBくらいあります。設定等々は変えていません
SQLサーバーのエラーログにエラーは見当たらずいろいろやりましたが困っています
解決方法を教えてください
0890889
垢版 |
2019/05/01(水) 12:28:19.61ID:d1NFaXkw
クエリを飛ばして30秒ほどでエラーが返ってきます
エラーコードで検索してnet_read_timeoutをいじったり
/*+ MAX_EXECUTION_TIME(1000) */を入れてみたのですが結果は変わりません
データベースの行数は680421です
よろしくお願いします
0891NAME IS NULL
垢版 |
2019/05/01(水) 13:18:41.91ID:???
時間かかり過ぎじゃね?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況