SQL初心者質問スレ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
どういうことをしたいのか質問内容を具体的に書かないと伝わらないぞ すごく具体的な質問だと思うけどどこが分からないのか?
クエリの結果を二重にしたいだけだろ サブクエリーを使いたいと言うことかもしれないし、
単一テーブルから二通りの選択をして結果を合算したいのかもしれないし なぜ聞かれてもいない事を深読みして答えようとするのか?
どうにかして自分が知ってる事に結びつけようとしてるだけだろお前ら >>502
unionはテーブル名見てるんじゃなくselectの中身見てるだけ
だから別名付けてどうぞ >>513
unionを同じテーブルとでしか使えないと思い込んでると仮定したわけか? >>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
別名でどう紐づけるんですか? あれ?
もしかして、Union Allじゃなくて、
単にUnionしたものに対して検索した方が速かったりします? >>516
綺麗な表ってなに?
またなんでそういう要求が
でる背景はなに? 速度が目的なら普通に検索して単価1-3の分離はクライアント側でやるのが現実的だろうね。
あるいは単価1-3をUNION ALLしたサブクエリから抽出する。賢いDBMSなら最適化してくれるかもしれない。 >>519
検索と表の整形です。
>>520
上の例では省略しましたが、
実際は、かなり横に長いんです。
商品名 単価1 単価2 単価3 ・・・ 単価50
おもいっきり横にスクロールしないと全体を見渡せない、
嫌がらせみたない表でしょう? >>522
あなたのいう綺麗な表とは?
縦にしたいの?
『おもいっきり縦にスクロールしないと全体を見渡せない、
嫌がらせみたない表。』
を作りたいの?
何が便利になるの? 商品名を抽出したいのか
商品名に対するいずれかの単価を抽出したいのか
商品名に対する全ての単価を抽出したいのか
それにしても、単価1から単価50まで並べるというのは苦痛だ
そういうテーブル定義作った奴を縛り首にした方が後々良い結果がでる >>523
データベースって普通縦なんじゃ・・・。 >>523
縦にしたいです。
うちの会社のマウスホイールは、
全部縦に回るので、縦の方が便利なんです。
この表作った人のは、横に回るのかも知れませんが。
>>528
>商品名に対する全ての単価を抽出したいのか
それです。 一つの商品に50種類もの単価が付けられると言うのは、そういう理由があるわけでしょ?
例えば、一つの商品に50個のパーツが必要でそれぞれに単価があるとか
あるいは50の地域での販売単価とか
そういう小項目も合わせて表示しないと、
意味不明の50行の単価出力にならないかな? おれなら実テーブルを変更して、元テーブルと同じ形のビューつくるけどな >>503
> 名前がぶつかっているのだから、あたりまえでしょうがw
>>513
> だから別名付けてどうぞ
なんか、同名だと駄目で当然的な流れだが、PostgreSQLではエラーにはならない。
エラーになるのが普通なのか? >>539
> 普通とは?
その疑問の意味がわからない。 インラインビューの別名に実テーブル名を使う心理がわからない。混乱するだけだと思うが。 もはや後に退けなくなった意地の質問返し
不毛である >>541
え?いやだからPostgreSQL以外のRDBMSじゃエラーになるのが普通なのかって意味だけど? >>545
そうなんだ。
いや、>>503に誰もコメントしないから、エラーになるのが普通なのかと、ちょっと心配したし。 >>542
ひょっとして、PostgreSQL以外では以下はエラーになるのが普通なの?
select * from (select a, b from hoge) as hoge
まぁ、俺も実在のテーブル名を別名につけようとは思わないんだが。 >>547
心配するな、俺の知ってる範囲ではそれはエラーにならない >これをUnionで縦に繋げれば綺麗な表になりますが、
>普通にやると検索が3倍になるので、2回目以降は前回の抽出結果を参照したいんです。
select一回で全項目を取得して、後はアプリにやらせるとか なんかよくわからんが、case whenでいけるかもよ?
データ例と期待する取得結果を書けば、ちゃんとした答えが返るかも
いまのとこ、何をやりたいのかいまいちわからん こういうこと?
RDBの縦持ちテーブルと横持ちテーブル、およびその変換について
https://gist.github.com/aamine/5565025 実体が横持ちになっているのが気に入らないが、とりあえず縦持ちのように参照するためにUNION ALLを行った。
しかし縦を横にするクエリはまだ知らない。
というところなんじゃないかな。
そのクエリがわかれば、実体を縦持ちにするのもやぶさかではないみたいな。そんな感じがする。 流れがおかしくなったのは >>503 が照れ隠しのために話を流したかっただけだと思う。 まぁ、価格カラムが50個あるので50個のクエリをunionで繋げました、よりは、クライアントで頑張る方がいいと思う
縦横変換もクライアントで頑張った方が簡単かつ検索コストも低そう まず価格カラムが50個もあるのが設計として妥当か考えるべきだがな
相関名の有効範囲がUNIONを超えるかどうかがエラーにするかどうかの境目か
そもそも実テーブルと同じ相関名ってエラーになるのが標準仕様だっけ? だいたい別の意味の価格だから別カラムで持っているのが普通だから、質問した人間がわかってないんじゃないのか? 物凄く初歩的で申し訳ないのですが、SQL Server2008をSQL Server2014へ
アップグレードでインストールした後、不要な2008を消したいんですが
普通にアンインストールでいいものなんでしょうか。 >>563
どうりで出てこないわけですわ。板が違うとは。
ありがとうございます。 いやまあここの板にもあるけど、DBの内容とインストール関係は別の話だな
Microsoft SQL Server 総合スレ 11
http://echo.2ch.net/test/read.cgi/db/1464508208/ 社員
社員ID、名前
社員情報
社員ID、血液型、生年月日、性別、身長
身長170cm以上の社員の名前を取得するSQLってどう書けばいいのでしょうか?
SELECT 社員.名前
FROM 社員情報
WHERE 社員情報.身長 >= 170
これで出てきますか? 社員情報に名前入れろや
お前は名無しの社員ちゃうやろアホか システムがデータベースを使っているのでどうにもできないのです
ざっくり見た感じですが、こんな感じになっていたと思います >>572
怖くて教えられない
なぜSQLを知らない人が仕事用のデータベースをいじろうとしているのか sqlなんて基本以来10年近くいじってないワイが適当回答すると
SELECT 社員.名前 FROM 社員情報 WHERE 社員.ID IN (SELECT 社員情報.社員ID FROM 社員情報 WHERE 社員情報.身長 >= 170) >>567
こうかな?
SELECT 社員.名前
FROM 社員, 社員情報
WHERE 社員情報.身長 >= 170 AND
社員.社員ID = 社員情報.社員ID >>567
社員IDで紐付いてるとかを勝手に想定してくれる訳じゃないので指定してやらないとな
SELECT 社員.名前
FROM 社員情報
INNER JOIN 社員 ON 社員情報.社員ID = 社員.社員ID
WHERE 社員情報.身長 >= 170
>>569
機微な情報は別テーブルとか普通にあるだろ >>577
機微な情報は別テーブルとかないし
別テーブルにする意味もないし
そもそも社員の名前は機微な情報ではない
まあ、お前のような多重に勘違いした独り善がりの馬鹿によって作られた
>>567のような出来損ないのスキーマはたまに見かける
あ、勘違いしやすいみたいだから一応断っておくけど
これ褒めてるんじゃないからねw 大雑把な性格の俺的には、こうかな?
SELECT *
FROM *
LEFT JOIN *
ON * = * >>578
> そもそも社員の名前は機微な情報ではない
ここまでバカだとは...
機微な情報の意味わかってないだろ w >>581
もう一つ勘違いしてるみたいだけど
2ちゃんだって素直にありがとうって言ってもいいんだからね ありがとう2ch
>>578 みたいなバカがいるってことを教えてくれて
これでいいかな w >>581
機微な個人情報 JISQ15001:2006
・思想,信条又は宗教に関する事項
・人種,民族,門地,本籍地(所在都道府県に関する情報を除く。),身体・精神障害,犯罪歴その他社会的差別の原因となる事項
・勤労者の団結権,団体交渉その他団体行動の行為に関する事項
・集団示威行為への参加,請願権の行使その他の政治的権利の行使に関する事項
・保健医療又は性生活に関する事項 >>584
それもそうだけど
>>581はそもそも社員テーブルに社員名がない事の理不尽さに気がついていない
馬鹿がその視野の狭さ故に犯す誤りの典型だねw マウンティングとかアホなワードがバズったおかげで、>>586みたいな馬鹿が出てくるんだよ >>578
> 機微な情報は別テーブルとかないし
いや、あると思うよ。
> 別テーブルにする意味もないし
異なる読み取り権限を設定できる。 機微な情報で氏名とか言い出すアホがいて笑える
どう見ても
> 社員情報
> 社員ID、血液型、生年月日、性別、身長
の方だろ schema.ini作るの面倒なんだけど、何とかならん?
テキストファイルにはIMEX=1も効かないし。 すみません、質問よろしいでしょうか
SELECT name,max(no)
from test;
これがエラーになるんですが何がいけないんでしょう?
noの最大値を持つ行のnameが知りたいだけなんですが…… SELECT name, no FROM test WHERE no = (SELECT max(no) FROM test)
こうかな >>597さんのがまさに求めていたものでした!
whereかhavingで迷ってたんですがwhereだったんですね!
>>598さんも本当にありがとうございました! サイズ違いの商品を送り 返品交換できない 悪質商法 ****E
サイズ違いの商品を送り 返品交換できない 悪質商法 B**
悪質オンラインショップ
か
担当者が悪質か
2回目のでんわたんとう窓口は すりかえようで いみふにごまkして
----------------------------------
**** *** オンラインショップのアイテムは独自の方法により採寸しておりますので、
全て実際の商品を計測した実寸サイズとなっております。
ご注文いただいております商品サイズは、正しいものでございます。
誠に恐れ入りますが、サイズが合わない、イメージと異なるといったご理由での
ご購入商品の返品・交換はお断りさせていただいております。
お客様のご希望にそう事が出来ず誠に申し訳ございませんが、
何卒ご了承の程よろしくお願い申し上げます。
----------------------------------
24いんちって Mですか? WEBの説明と実際の商品が違う 今の会社があまりにもくだらなくて転職のためSQL覚えたい
今はExcelで簡単なVBA書いてる
独学でもどこかにまず入れるだろうか…
それとPostgreSQLとMySQLとどちらがいいのか教えてください ■ このスレッドは過去ログ倉庫に格納されています