- ベストアンサー
[過去質問の続き]CREATE TEMPORARY TABLEで、3テーブルをくっつけたい
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2256727 のさらに続きです。 #1、#2さんのご助言&プログラム例を、自分の環境に適用したいのですが、 テーブル構造の例示の仕方が悪かったため、どうしても自分の環境に 置き換えて適用することができませんでした。 文末の3テーブルに対し、県IDが3500種類、この3500行の右に、 ・県名 ・去年のGDPを時系列に12か月分 ・去年の人口 〃 ・今年のGDP 〃 ・今年の人口 〃 …といった順序でCREATE TEMPORARY TABLEしたいのですが、 CREATE TABLEして、データをSELECTしないことにはINSERTできないですよね? このあたりの関係がどうしてもわからず、挫折しかけたのですが、 3テーブルをエキスポートする度に、Excelでくっつけるのが面倒なのと、 何よりご教示下さった#1、#2さんのご好意を台無しにしたくなく、挫折したくありません。 県ごとにSUMで集計などせず、プレーンなデータをHTMLorTXT出力したいのですが… ■地域マスター 国ID 国名 県ID 県名 ――――――――――― C001 日本 001 東京 C001 日本 002 埼玉 C001 日本 003 千葉 C002 米国 004 バージニ C002 米国 005 ミネソタ C002 米国 006 カリフォ C003 中国 007 四川 C003 中国 008 広東 C003 中国 009 雲南 ■去年テーブル →2004年12月~2005年11月のGNPと人口を【収録済み】 県ID 年月 GNP 人口 ―――――――――――― 001 200412 100 30 001 200501 101 30 001 200502 103 31 :(略) 001 200511 106 34 002 200412 202 60 ■今年テーブル →2006年3月~2007年2月のGNPと人口を【収録中】 県ID 年月 GNP 人口 ―――――――――――― 001 200603 108 40 001 200604 109 44 :(略) 001 200702 NULL NULL 002 200603 230 50
- みんなの回答 (7)
- 専門家の回答
関連するQ&A
- 日本にGNPを抜かれた時の西ドイツの反応は?
先日テレビで、日本は1969年にGNPでアメリカに次いで2位となり、当時の西ドイツを抜いたと放送していました。 日本にGNPを抜かれた時の西ドイツはどんな反応だったのですか? 「悔しい、残念」「たかがアジアの国ごときに抜かれるとは」「人口が違うから仕方ない」「どうでもいい」etc・・・こんな感じだったのですか? 中国にGDPを抜かれた(かもしれない)今の日本と似た世論でしたか?知っている方、覚えている方がいれば是非教えてください。
- ベストアンサー
- メディア・マスコミ
- 日本経済はすでに中国に負けている?
中国のGDPが韓国を上回りました。 将来は日本どころか米国も抜かすかなあ? 人口が多いから仕方ない。 でも外務省経済指標のGDP国民一人当たりは、 中国約十万円、韓国百万円、日本三百五十万円とあります。 …観点が違うかも知れないけど。 「日本経済はすでに中国に負けているよ」と言う人が多いような… 何故、中国がそんなに脅威なのでしょうか?
- ベストアンサー
- 経済
- create temporary tableについて
MYSQL5.0を利用して、PHPから以下の作業をしています。 create temporary table tempで作成された一時的なテーブル(temp)は削除しなくても問題ないのでしょうか? もし削除する必要がある場合は、drop temp で大丈夫でしょうか?
- ベストアンサー
- MySQL
- Tableを動的に増やしたい。
お世話になります。 asp.net(c#)で開発をしています。 c#は初めて1月程度です。 やりたいことは、 Tableを動的に増やす。 と言うことです。 たとえば、こんなイメージです。 <asp:Table ID="Table001"></asp:Table> <asp:Table ID="Table002"></asp:Table> <asp:Table ID="Table003"></asp:Table> .... と言うように、データの条件に合わせてテーブルを動的に増やして表示。そして、その各テーブルは<p></p>タグで切り分けたいのです。 表示するデータはSQLで取得し、その抽出条件によって、テーブルの個数が変動することが考えられます。 ご存知の方、知恵をお貸しください。
- ベストアンサー
- Microsoft ASP
- エクセルのコマンドを教えて頂きたいです。
エクセルのコマンドを教えて頂きたいです。 エクセル2007でデータ整理をしており、 以下の処理を行いたいのですが、方法が分かりません。 よろしくお願いします。 【加工前】 A行にid(県名) B行に値(例えば人口) が入っています。 このデータに対応するように以下のデータを接合させたいと考えています。 C行にid(県名) D行に値(例えば売上) が入っています。 E行にid(県名) F行に値(例えば所得) が入っています。 ただし、このidはA≠C≠Fとなっています。 つまり、 A行のidは、『1、2、3、4、5、6、7、8、9』となっており、全てのidが存在するのですが、 C行のidは、『1、3、5、6、7、9』 F行のidは、『2、4、5、8、9』 のようになっています。 この状態から、以下の状況にしたいと考えています。 【加工後】 A行:id B行:人口 C行:売上 D行:所得 ※県名1の所得は欠損のまま(当たり前なのかもしれませんが。) よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- GDP等、日本の近況。基本的愚問ですm(__)m
検索等で調べてもよく理解出来ません。噛み砕いてご解説して頂けますか。 寂しい事ですが、今や日本は、中国を始めアジアの国々にも負けている、 とよく言われます。 この不景気でもGDPは今でも米国に次いで2位なのですか? それとGDPを人口で割った…何と言いましたっけ( _ _)ガクッ それこそが本当の国民の豊かさを示す数値だと思うのですが、 日本は、世界各国で、どの辺に位置しているのでしょうか?
- ベストアンサー
- 経済
- すみませんが教えてください。JAVA
県テーブル 県ID,県名 001,北海道 002,青森 003,秋田 004,岩手 方角テーブル 方角ID,方角名 001,東 002,南 003,西 004,北 県位置テーブル 県,県,方角 001,002,002 003,004,001 このようなテーブルがあった時に、「北海道」と検索して「北海道の南に青森がある」のように表示させるプログラムをjavaで作成しているのですが、 select 県名,方角名 from 県,方角 where 県ID or 方角ID in (select * from 県位置 where 県ID like '%" + 001 + "%' ) のようなSELECT文を書くと ERROR 1241 (21000): Operand should contain 1 column(s) と表示されてしまいます。 どのようにすればうまくいくのでしょうか?
- 締切済み
- Java
- 別々の性質のもつテーブルのクエリーとレポートについて
ACCESS2000において テーブルA ID 氏名 口座 テーブルB ID 振込み月 金額A テーブルC ID 振込み月 開発費 テーブルD ID 振込み月 金額B 上記のようなテーブルが存在するときに、 リンクまたはクエリーでそれぞれのテーブルの 内容をまとめて、レポートを出力させます。 このとき、それぞれのテーブルでの振込み月は 必ず毎月存在するとは限らないので、存在しない 月はデータがありません。 それぞれのテーブルのデータを集計し、各IDにおける その月の振込み月の金額の合計を算出します。 レポートにおいては、振込み月とそれぞれの金額と 金額の合計をレポート印刷します。 そのままのクエリーを考えると、それぞれのテーブルの データをもつIDのみ、クエリーのデータとなってしまう ので、その月のデータがない場合でも金額¥0として クエリーとしたいですが、どのようにすればいいでしょうか?よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- アクセスログテーブルの構造について
このジャンルでお願いします。 よくアクセスログの解析を無料で(リンクを貼ったりして)行ってくれるサービスがありますが、 そのデータベースの構造というかテーブルの構造はどのようになっているのでしょうか? 例えば、膨大なレコード数になると思うので それを利用するユーザー毎にテーブルを分けるとかするのでしょうか? あるいはユーザー毎、年毎、月毎、日毎、に分けるとか? 本来ならテーブルを分割したりするのは違うんじゃないかなぁと思ったりするのですが、 なので次のように、 CREATE TABLE `accesslog` ( `id` int NOT NULL auto_increment, `user_id` varchar(16), `created` datetime, `ip` varchar(64), FOREIGN KEY(`user_id`) REFERENCES `user`(`id`) ); ユーザーも全ての期間のデータも1つのテーブルで管理するのが普通だとは思うのですが、 アクセスログだけは利用するユーザー数にもよりますがやはり膨大になりますよね? そうすると1つのテーブルだと無理があると思うのです。 あるいは単にテキストファイルとして保存する方法もあるのかな?と思うのですが、 やはりなにかとSQLで操作したいのでMySQLなどのテーブルの設計が知りたいです。
- 締切済み
- MySQL
- tableの連結
http://okwave.jp/qa/q7944235.html の件に引き続きどうSQL文を書いてよいかわからず困っています。 create table team(team_id int not null primary key,team_name varchar(30),year int(4), leagueid int(32) ); insert into team values(1,"A",2012,1),(2,"B",2012,1),(3,"C",2012,1),(4,"D",2012,1),(5,"A",2012,2),(6,"B",2012,2),(7,"C",2012,2),(8,"D",2012,2),(9,"A",2011,1),(10,"B",2011,1),(11,"C",2011,1),(12,"D",2011,1); create table taisen(id int not null primary key auto_increment,hometeam int,homepoint int,awayteam int,awaypoint int); insert into taisen (hometeam,homepoint,awayteam,awaypoint) values(1,3,2,2),(3,1,4,0),(1,0,3,2),(2,2,4,2),(1,1,4,2),(2,0,3,0),(2,1,1,2),(4,1,3,3),(3,5,1,2),(5,3,6,3),(5,1,7,1),(7,1,8,1),(9,1,10,1),(11,1,12,3); とあり、 taisen.hometeamとteam.idとtaisen.awayteamとteam.idを結合し、taisenテーブルにteamのyear、leagueid、team_nameが表示されればと思っています。 通常のjoinであればできるのですが、どのようにsql文をかけばよいのかわからず困っています。 taisen.hometeamとteam.idとtaisen.awayteamとteam.idを結合したときに | taisen.hometeam | ホームチーム名 | taisen.homepoint | taisen.awayteam | アウェイチーム名 | taisen.awaypoint | team.year | team.leagueid で結果がとれるようにしたいのですが、どのようにしたらよろしいでしょうか?
- ベストアンサー
- MySQL
お礼
ようやくうまくできました。 やっぱりデータが多すぎるのがクエリー結果を返してこない原因だったようで、 ORDER BY句の前にWHERE 国ID='C001'などと絞込条件を挟んだらすぐに結果が出てきました。 あとは、php側で工夫すれば、期待していたような仕組みを作ることができそうです。 yamabejpさん、本当にお世話になりました。 今後とも、よろしくお願い致します。
補足
yamabejpさん、追加ご教示本当にありがとうございます。 今朝から、#7でご提示いただいた各SQLを本番環境に置き換え、 実行させていただいています。 とりあえず、phpMyAdmin上に#7にご提示いただいたSQL文を放り込んで みたのですが、サーバー考え込んだまま問い合わせ結果が出力されてきませんでした。 とりあえず、5つあるCREATE文から「TEMPORARY」をとって一つ一つテーブルを作成して みましたら、全て即刻クエリーが完了します。 結論、最後の「SELECT * FROM `地域マスター`,`FLG_TABLE`,`KIND_TABLE`・・・」 のところでつまづき、結果を出力しきれない(っぽい)ことがわかりました。 もしかしたら、SELECTの際に当方本番環境におけるWHERE条件がゆるいため、 無限ループみたいなことが起こってるのかもしれませんので原因について調査中です。 本当なら、「SELECTされましたー!ありがとうございました!!」といいたかった ところですが、解決御礼まで今しばらくお待ちください。 なお、本番環境に適用(CREATE)した結果は文末の通りで、 #5、#6でご提示いただいたような結果にはなっていると思います。 取り急ぎ、深謝&現状報告まで。 ■TABLE1 県ID 年月 KIND DATA 0001 200412 GNP 4348 0001 200501 GNP 3757 0001 200502 GNP 4361 0001 200503 GNP 6365 0001 200504 GNP 5245 0001 200505 GNP 4495 0001 200506 GNP 4294 0001 200507 GNP 5996 ■TEMP_PIVOD 年月 FLG 1 2 3 4 5 6 7 8 9 10 11 12 200412 去年 1 0 0 0 0 0 0 0 0 0 0 0 200501 去年 0 1 0 0 0 0 0 0 0 0 0 0 200502 去年 0 0 1 0 0 0 0 0 0 0 0 0 200503 去年 0 0 0 1 0 0 0 0 0 0 0 0 200504 去年 0 0 0 0 1 0 0 0 0 0 0 0 200505 去年 0 0 0 0 0 1 0 0 0 0 0 0 200506 去年 0 0 0 0 0 0 1 0 0 0 0 0 200507 去年 0 0 0 0 0 0 0 1 0 0 0 0 200508 去年 0 0 0 0 0 0 0 0 1 0 0 0 200509 去年 0 0 0 0 0 0 0 0 0 1 0 0 200510 去年 0 0 0 0 0 0 0 0 0 0 1 0 200511 去年 0 0 0 0 0 0 0 0 0 0 0 1 200603 今年 1 0 0 0 0 0 0 0 0 0 0 0 200604 今年 0 1 0 0 0 0 0 0 0 0 0 0 200605 今年 0 0 1 0 0 0 0 0 0 0 0 0 200606 今年 0 0 0 1 0 0 0 0 0 0 0 0 200607 今年 0 0 0 0 1 0 0 0 0 0 0 0 200608 今年 0 0 0 0 0 1 0 0 0 0 0 0 200609 今年 0 0 0 0 0 0 1 0 0 0 0 0 200610 今年 0 0 0 0 0 0 0 1 0 0 0 0 200611 今年 0 0 0 0 0 0 0 0 1 0 0 0 200612 今年 0 0 0 0 0 0 0 0 0 1 0 0 200701 今年 0 0 0 0 0 0 0 0 0 0 1 0 200702 今年 0 0 0 0 0 0 0 0 0 0 0 1 ■TABLE2 県ID KIND FLG 1 2 3 4 5 6 7 8 9 10 11 12 0001 GNP 今年 5598 4953 5018 0 0 0 0 0 0 0 0 0 0001 人口 今年 720 617 611 0 0 0 0 0 0 0 0 0 0001 GNP 去年 5069 4810 4832 5287 5108 4497 5323 5201 5457 4831 5769 5069 0001 人口 去年 648 619 617 667 646 587 693 671 709 624 747 680 ■FLG_TABLE FLG 去年 今年 ■KIND TABLE KIND GNP 人口