X



トップページDB@2ch掲示板
1002コメント294KB
SQL初心者質問スレ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001NAME IS NULL
垢版 |
2016/05/12(木) 05:29:07.61ID:HmbS4CfD
SQL初心者用の質問スレッドです。
0505NAME IS NULL
垢版 |
2017/04/22(土) 00:10:42.55ID:bI/4AwC2
>>504
なぜそうしなければいけないのか?
0506NAME IS NULL
垢版 |
2017/04/22(土) 00:13:53.98ID:???
どういうことをしたいのか質問内容を具体的に書かないと伝わらないぞ
0507NAME IS NULL
垢版 |
2017/04/22(土) 12:23:35.41ID:???
すごく具体的な質問だと思うけどどこが分からないのか?
クエリの結果を二重にしたいだけだろ
0509NAME IS NULL
垢版 |
2017/04/22(土) 12:33:49.71ID:???
サブクエリーを使いたいと言うことかもしれないし、
単一テーブルから二通りの選択をして結果を合算したいのかもしれないし
0510NAME IS NULL
垢版 |
2017/04/22(土) 12:55:02.60ID:???
なぜ聞かれてもいない事を深読みして答えようとするのか?
どうにかして自分が知ってる事に結びつけようとしてるだけだろお前ら
0511NAME IS NULL
垢版 |
2017/04/22(土) 13:04:00.14ID:???
それも、妄想だろうが
0513NAME IS NULL
垢版 |
2017/04/22(土) 15:11:11.87ID:???
>>502
unionはテーブル名見てるんじゃなくselectの中身見てるだけ
だから別名付けてどうぞ
0514NAME IS NULL
垢版 |
2017/04/22(土) 15:33:24.15ID:bI/4AwC2
>>513
unionを同じテーブルとでしか使えないと思い込んでると仮定したわけか?
0516NAME IS NULL
垢版 |
2017/04/23(日) 03:28:24.12ID:???
>>505
>>506
こういう嫌がらせみたいな表があるんですよ。

商品名  単価1 単価2 単価3
もょもと 100  200  300
すけさん 120
アイリン 500  990

これをUnionで縦に繋げれば綺麗な表になりますが、
普通にやると検索が3倍になるので、2回目以降は前回の抽出結果を参照したいんです。

Select 商品 単価1 From 元テーブル
Select 商品 単価2 From 1回目の抽出結果
Select 商品 単価3 From 2回目の抽出結果

>>513
別名でどう紐づけるんですか?
0517NAME IS NULL
垢版 |
2017/04/23(日) 03:46:27.99ID:???
あれ?
もしかして、Union Allじゃなくて、
単にUnionしたものに対して検索した方が速かったりします?
0518NAME IS NULL
垢版 |
2017/04/23(日) 05:19:54.61ID:7gvObldM
やりたいことがわかりそうでわからない。
0519NAME IS NULL
垢版 |
2017/04/23(日) 05:23:12.48ID:7gvObldM
>>517
結局、何がしたいわけ?
0520NAME IS NULL
垢版 |
2017/04/23(日) 09:38:17.86ID:???
>>516
綺麗な表ってなに?
またなんでそういう要求が
でる背景はなに?
0521NAME IS NULL
垢版 |
2017/04/23(日) 09:50:21.14ID:???
速度が目的なら普通に検索して単価1-3の分離はクライアント側でやるのが現実的だろうね。
あるいは単価1-3をUNION ALLしたサブクエリから抽出する。賢いDBMSなら最適化してくれるかもしれない。
0522NAME IS NULL
垢版 |
2017/04/23(日) 09:56:38.73ID:???
>>519
検索と表の整形です。

>>520
上の例では省略しましたが、
実際は、かなり横に長いんです。

商品名 単価1 単価2 単価3 ・・・ 単価50

おもいっきり横にスクロールしないと全体を見渡せない、
嫌がらせみたない表でしょう?
0523NAME IS NULL
垢版 |
2017/04/23(日) 10:52:31.24ID:???
>>522
あなたのいう綺麗な表とは?
縦にしたいの?


『おもいっきり縦にスクロールしないと全体を見渡せない、
嫌がらせみたない表。』

を作りたいの?
何が便利になるの?
0524NAME IS NULL
垢版 |
2017/04/23(日) 11:01:55.37ID:???
union allで列分繋げればできるよ
0525NAME IS NULL
垢版 |
2017/04/23(日) 11:12:44.52ID:???
質問返ししてる奴いいかげんウザい
0528NAME IS NULL
垢版 |
2017/04/23(日) 11:50:19.03ID:???
商品名を抽出したいのか
商品名に対するいずれかの単価を抽出したいのか
商品名に対する全ての単価を抽出したいのか

それにしても、単価1から単価50まで並べるというのは苦痛だ
そういうテーブル定義作った奴を縛り首にした方が後々良い結果がでる
0529NAME IS NULL
垢版 |
2017/04/23(日) 13:24:51.53ID:???
>>523
データベースって普通縦なんじゃ・・・。
0531NAME IS NULL
垢版 |
2017/04/23(日) 14:42:39.73ID:???
>>523
縦にしたいです。
うちの会社のマウスホイールは、
全部縦に回るので、縦の方が便利なんです。

この表作った人のは、横に回るのかも知れませんが。

>>528
>商品名に対する全ての単価を抽出したいのか

それです。
0532NAME IS NULL
垢版 |
2017/04/23(日) 14:47:27.11ID:???
共通表式 でぐぐれば終わりな気がする
0534NAME IS NULL
垢版 |
2017/04/23(日) 17:40:50.51ID:???
>単価50

この先、まだまだ増えたりしてな w
0535NAME IS NULL
垢版 |
2017/04/23(日) 17:47:02.05ID:???
エクセルのつもりで追加するからたまらんな
0536NAME IS NULL
垢版 |
2017/04/23(日) 22:26:54.47ID:???
一つの商品に50種類もの単価が付けられると言うのは、そういう理由があるわけでしょ?
例えば、一つの商品に50個のパーツが必要でそれぞれに単価があるとか
あるいは50の地域での販売単価とか
そういう小項目も合わせて表示しないと、
意味不明の50行の単価出力にならないかな?
0537NAME IS NULL
垢版 |
2017/04/24(月) 01:18:15.41ID:???
おれなら実テーブルを変更して、元テーブルと同じ形のビューつくるけどな
0538NAME IS NULL
垢版 |
2017/04/24(月) 10:46:17.61ID:???
>>503
> 名前がぶつかっているのだから、あたりまえでしょうがw

>>513
> だから別名付けてどうぞ

なんか、同名だと駄目で当然的な流れだが、PostgreSQLではエラーにはならない。
エラーになるのが普通なのか?
0540NAME IS NULL
垢版 |
2017/04/24(月) 11:50:05.50ID:???
>>539
> 普通とは?
その疑問の意味がわからない。
0541NAME IS NULL
垢版 |
2017/04/24(月) 12:00:49.79ID:???
>>540
その文脈で普通を
具体的に表現して。
0542NAME IS NULL
垢版 |
2017/04/24(月) 12:40:31.78ID:Ng2xnlDE
インラインビューの別名に実テーブル名を使う心理がわからない。混乱するだけだと思うが。
0543NAME IS NULL
垢版 |
2017/04/24(月) 12:40:38.23ID:???
もはや後に退けなくなった意地の質問返し
不毛である
0544NAME IS NULL
垢版 |
2017/04/24(月) 12:48:45.79ID:???
>>541
え?いやだからPostgreSQL以外のRDBMSじゃエラーになるのが普通なのかって意味だけど?
0546NAME IS NULL
垢版 |
2017/04/24(月) 13:01:37.97ID:???
>>545
そうなんだ。
いや、>>503に誰もコメントしないから、エラーになるのが普通なのかと、ちょっと心配したし。
0547NAME IS NULL
垢版 |
2017/04/24(月) 13:04:55.00ID:???
>>542
ひょっとして、PostgreSQL以外では以下はエラーになるのが普通なの?
select * from (select a, b from hoge) as hoge
まぁ、俺も実在のテーブル名を別名につけようとは思わないんだが。
0548NAME IS NULL
垢版 |
2017/04/24(月) 13:07:17.98ID:???
>>547
心配するな、俺の知ってる範囲ではそれはエラーにならない
0549NAME IS NULL
垢版 |
2017/04/24(月) 13:24:49.68ID:???
別名に関して誤解してる奴が多そうだな
0550NAME IS NULL
垢版 |
2017/04/24(月) 14:45:32.03ID:???
>これをUnionで縦に繋げれば綺麗な表になりますが、
>普通にやると検索が3倍になるので、2回目以降は前回の抽出結果を参照したいんです。

select一回で全項目を取得して、後はアプリにやらせるとか
0551NAME IS NULL
垢版 |
2017/04/24(月) 14:54:59.09ID:???
なんかよくわからんが、case whenでいけるかもよ?
データ例と期待する取得結果を書けば、ちゃんとした答えが返るかも
いまのとこ、何をやりたいのかいまいちわからん
0553NAME IS NULL
垢版 |
2017/04/24(月) 15:35:32.59ID:???
実体が横持ちになっているのが気に入らないが、とりあえず縦持ちのように参照するためにUNION ALLを行った。
しかし縦を横にするクエリはまだ知らない。

というところなんじゃないかな。

そのクエリがわかれば、実体を縦持ちにするのもやぶさかではないみたいな。そんな感じがする。
0554NAME IS NULL
垢版 |
2017/04/24(月) 15:36:53.40ID:???
流れがおかしくなったのは >>503 が照れ隠しのために話を流したかっただけだと思う。
0555NAME IS NULL
垢版 |
2017/04/24(月) 15:54:00.93ID:???
まぁ、価格カラムが50個あるので50個のクエリをunionで繋げました、よりは、クライアントで頑張る方がいいと思う
縦横変換もクライアントで頑張った方が簡単かつ検索コストも低そう
0556NAME IS NULL
垢版 |
2017/04/24(月) 17:59:56.67ID:???
まず価格カラムが50個もあるのが設計として妥当か考えるべきだがな

相関名の有効範囲がUNIONを超えるかどうかがエラーにするかどうかの境目か
そもそも実テーブルと同じ相関名ってエラーになるのが標準仕様だっけ?
0557NAME IS NULL
垢版 |
2017/04/24(月) 18:18:50.51ID:???
「だっけ?」の使い方よ
0559NAME IS NULL
垢版 |
2017/04/24(月) 18:35:58.02ID:Ng2xnlDE
だいたい別の意味の価格だから別カラムで持っているのが普通だから、質問した人間がわかってないんじゃないのか?
0560NAME IS NULL
垢版 |
2017/04/24(月) 21:05:20.45ID:???
カラムに関して誤解してる奴が多そうだな
0562NAME IS NULL
垢版 |
2017/05/07(日) 00:12:31.50ID:???
物凄く初歩的で申し訳ないのですが、SQL Server2008をSQL Server2014へ
アップグレードでインストールした後、不要な2008を消したいんですが
普通にアンインストールでいいものなんでしょうか。
0564NAME IS NULL
垢版 |
2017/05/07(日) 03:31:50.86ID:???
>>563
どうりで出てこないわけですわ。板が違うとは。
ありがとうございます。
0567NAME IS NULL
垢版 |
2017/05/10(水) 20:02:08.20ID:???
社員
社員ID、名前

社員情報
社員ID、血液型、生年月日、性別、身長

身長170cm以上の社員の名前を取得するSQLってどう書けばいいのでしょうか?

SELECT 社員.名前
FROM 社員情報
WHERE 社員情報.身長 >= 170

これで出てきますか?
0569NAME IS NULL
垢版 |
2017/05/10(水) 20:32:12.08ID:f4kloMSM
社員情報に名前入れろや
お前は名無しの社員ちゃうやろアホか
0570NAME IS NULL
垢版 |
2017/05/10(水) 22:05:06.36ID:???
システムがデータベースを使っているのでどうにもできないのです
ざっくり見た感じですが、こんな感じになっていたと思います
0571NAME IS NULL
垢版 |
2017/05/10(水) 22:23:54.78ID:???
ざっくり見ただけで俺に聞くなよ失礼な人だな
0572NAME IS NULL
垢版 |
2017/05/10(水) 22:41:53.38ID:???
失礼しました。やはり方法はないんでしょうか?
0573NAME IS NULL
垢版 |
2017/05/10(水) 23:00:43.24ID:???
INNER JOINすれば済む話では
0574NAME IS NULL
垢版 |
2017/05/10(水) 23:27:46.64ID:???
>>572
怖くて教えられない
なぜSQLを知らない人が仕事用のデータベースをいじろうとしているのか
0575NAME IS NULL
垢版 |
2017/05/10(水) 23:41:35.27ID:???
sqlなんて基本以来10年近くいじってないワイが適当回答すると
SELECT 社員.名前 FROM 社員情報 WHERE 社員.ID IN (SELECT 社員情報.社員ID FROM 社員情報 WHERE 社員情報.身長 >= 170)
0576NAME IS NULL
垢版 |
2017/05/11(木) 00:41:42.41ID:???
>>567
こうかな?

SELECT 社員.名前
FROM 社員, 社員情報
WHERE 社員情報.身長 >= 170 AND
社員.社員ID = 社員情報.社員ID
0577NAME IS NULL
垢版 |
2017/05/11(木) 19:53:55.21ID:???
>>567
社員IDで紐付いてるとかを勝手に想定してくれる訳じゃないので指定してやらないとな

SELECT 社員.名前
FROM 社員情報
INNER JOIN 社員 ON 社員情報.社員ID = 社員.社員ID
WHERE 社員情報.身長 >= 170

>>569
機微な情報は別テーブルとか普通にあるだろ
0578NAME IS NULL
垢版 |
2017/05/11(木) 22:09:00.58ID:kTC/q0g8
>>577
機微な情報は別テーブルとかないし
別テーブルにする意味もないし
そもそも社員の名前は機微な情報ではない

まあ、お前のような多重に勘違いした独り善がりの馬鹿によって作られた
>>567のような出来損ないのスキーマはたまに見かける

あ、勘違いしやすいみたいだから一応断っておくけど
これ褒めてるんじゃないからねw
0579NAME IS NULL
垢版 |
2017/05/11(木) 22:57:42.62ID:???
 
一応書いておくけど、

ここは初心者スレ
0580NAME IS NULL
垢版 |
2017/05/11(木) 23:30:48.76ID:???
大雑把な性格の俺的には、こうかな?

SELECT *
FROM *
LEFT JOIN *
ON * = *
0581NAME IS NULL
垢版 |
2017/05/12(金) 04:58:07.76ID:???
>>578
> そもそも社員の名前は機微な情報ではない
ここまでバカだとは...
機微な情報の意味わかってないだろ w
0582NAME IS NULL
垢版 |
2017/05/12(金) 08:00:05.76ID:???
>>581
もう一つ勘違いしてるみたいだけど
2ちゃんだって素直にありがとうって言ってもいいんだからね
0583NAME IS NULL
垢版 |
2017/05/12(金) 08:29:18.99ID:???
ありがとう2ch
>>578 みたいなバカがいるってことを教えてくれて

これでいいかな w
0584NAME IS NULL
垢版 |
2017/05/12(金) 10:27:51.21ID:???
>>581
機微な個人情報 JISQ15001:2006

・思想,信条又は宗教に関する事項
・人種,民族,門地,本籍地(所在都道府県に関する情報を除く。),身体・精神障害,犯罪歴その他社会的差別の原因となる事項
・勤労者の団結権,団体交渉その他団体行動の行為に関する事項
・集団示威行為への参加,請願権の行使その他の政治的権利の行使に関する事項
・保健医療又は性生活に関する事項
0585NAME IS NULL
垢版 |
2017/05/12(金) 10:38:02.89ID:???
俺の中では「普通にある」
俺の中ではな
0586NAME IS NULL
垢版 |
2017/05/12(金) 11:55:26.59ID:???
誰のマウンティングが決まるんか
興味深いw
0587NAME IS NULL
垢版 |
2017/05/12(金) 12:27:50.14ID:???
>>584
それもそうだけど
>>581はそもそも社員テーブルに社員名がない事の理不尽さに気がついていない

馬鹿がその視野の狭さ故に犯す誤りの典型だねw
0588NAME IS NULL
垢版 |
2017/05/12(金) 12:54:11.14ID:???
マウンティングとかアホなワードがバズったおかげで、>>586みたいな馬鹿が出てくるんだよ
0589NAME IS NULL
垢版 |
2017/05/12(金) 13:09:41.44ID:???
>>567
匿名かが簡単にできる、良いスキーマ
0590NAME IS NULL
垢版 |
2017/05/12(金) 15:41:27.94ID:???
お前わかってないだろ <− 根拠のないマウント
0591NAME IS NULL
垢版 |
2017/05/12(金) 18:40:02.74ID:???
>>578
> 機微な情報は別テーブルとかないし
いや、あると思うよ。

> 別テーブルにする意味もないし
異なる読み取り権限を設定できる。
0592NAME IS NULL
垢版 |
2017/05/12(金) 19:54:33.25ID:???
機微な情報で氏名とか言い出すアホがいて笑える
どう見ても
> 社員情報
> 社員ID、血液型、生年月日、性別、身長
の方だろ
0593NAME IS NULL
垢版 |
2017/05/12(金) 21:23:59.30ID:???
名前は普通に公開されている情報だと思う
0594NAME IS NULL
垢版 |
2017/05/12(金) 22:16:38.19ID:???
schema.ini作るの面倒なんだけど、何とかならん?
テキストファイルにはIMEX=1も効かないし。
0596NAME IS NULL
垢版 |
2017/05/14(日) 16:37:12.49ID:TZtMkQGv
すみません、質問よろしいでしょうか

SELECT name,max(no)
from test;

これがエラーになるんですが何がいけないんでしょう?
noの最大値を持つ行のnameが知りたいだけなんですが……
0597NAME IS NULL
垢版 |
2017/05/14(日) 17:21:20.77ID:???
SELECT name, no FROM test WHERE no = (SELECT max(no) FROM test)

こうかな
0598NAME IS NULL
垢版 |
2017/05/14(日) 21:10:45.84ID:sz1S3gQK
>>596
group by name

を付ける
0599NAME IS NULL
垢版 |
2017/05/15(月) 11:10:24.32ID:???
>>597さんのがまさに求めていたものでした!
whereかhavingで迷ってたんですがwhereだったんですね!
>>598さんも本当にありがとうございました!
0600悪質オンラインショップ
垢版 |
2017/05/15(月) 13:56:08.35ID:YIXunVhi
サイズ違いの商品を送り 返品交換できない 悪質商法 ****E  
   
サイズ違いの商品を送り 返品交換できない 悪質商法 B**

悪質オンラインショップ



担当者が悪質か

2回目のでんわたんとう窓口は すりかえようで いみふにごまkして 

----------------------------------
**** *** オンラインショップのアイテムは独自の方法により採寸しておりますので、
全て実際の商品を計測した実寸サイズとなっております。
ご注文いただいております商品サイズは、正しいものでございます。

誠に恐れ入りますが、サイズが合わない、イメージと異なるといったご理由での
ご購入商品の返品・交換はお断りさせていただいております。

お客様のご希望にそう事が出来ず誠に申し訳ございませんが、
何卒ご了承の程よろしくお願い申し上げます。

----------------------------------

24いんちって Mですか? WEBの説明と実際の商品が違う
0602NAME IS NULL
垢版 |
2017/05/15(月) 14:13:01.96ID:YIXunVhi
ろせぶd
0604NAME IS NULL
垢版 |
2017/05/15(月) 22:04:09.83ID:???
今の会社があまりにもくだらなくて転職のためSQL覚えたい
今はExcelで簡単なVBA書いてる
独学でもどこかにまず入れるだろうか…
それとPostgreSQLとMySQLとどちらがいいのか教えてください
■ このスレッドは過去ログ倉庫に格納されています

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