SQL初心者質問スレ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
質問させていただきます。
2017-01-01 01:00:00
2017-01-02 01:00:00
2017-01-03 01:00:00
2017-01-04 01:00:00
といったdatetime型(Y-m-d H:i:s)のレコードdtimeを持つt1テーブルと
2017-01-02
2017-01-03
といったdate型(Y-m-d)のレコードdateを持つt2テーブルがあります。
t1テーブルのdtimeからt2テーブルのdateと日付(Y-m-d)部分が一致しないレコードを取り出すにはどのような記述をすれば良いでしょうか
この例の場合はdateにある2,3日のレコードを省いて1,4日のレコードのみを取り出したいです。 >>210
365行のテンポラリテーブルを用意してうんぬん >>212
標準SQLの範囲じゃないような気もするけど、
DateTime型からDateだけ取り出す関数があるだろうからそれを使う。 >>210
Select date_from + g.gs as 日付
, code1,name
From Test1 t
,(
select generate_series(0,10) as gs
) g
Where g.gs <= t.days;
でも>>211が言うようにdaysは演算で処理すべきだべ >>212
mysql と仮定して
select dtime from t1 where
date(dtime) not in (select date from t2); >>213,215
できました。ありがとうございました。
>>211
テーブル設計自体はすでにあったものでして… >>214
>>216
できました、ありがとうございました。
datetimeをdateに置き換える簡単な方法があったんですね。 phpmyadminでデータベースを作成しようと思ったのですがSQLタブのテキストエリアにコピペができません(右クリックしてもコピー、切り取り、貼り付けがでない)
コピペをするのに設定などがあるのでしょうか? MySQLの質問させてください
データ更新するとき、phpmyadminのインポートで更新するには、sqlのファイルはどのように書けばいいのでしょうか?
新規作成するときは、INSERT文でこんな風にしました
上書きするときの書き方があれば教えてください
INSERT INTO `sample_table` (`abc_id`, `efg_id`, `meta_key`, `meta_value`) VALUES
(202, 4002, '_thumbnail_id', '4001'),
(212, 4012, '_thumbnail_id', '4011'),
(222, 4022, '_thumbnail_id', '4021'); 外部結合クエリで
・A LEFT JOIN B
・B RIGHT JOIN A
これらは全く同じものではなく、結果が異なる場合があるので
外部結合は左のみ使うべしってどこかのサイトで見た記憶がある
どなたかそのカラクリを知っていたら教えて >>221
俺の中ではそんな事ないから答えられない >>220
insertでするなら on duplicate key update
又は replaceでというのも
それぞれについて説明をちゃんと読んでから使ってね >>225
ありがとうございます!
確認して使ってみます ユーザー登録ありのシステムを組むにあたってユーザーが2種類いる場合
テーブルは分けるべきでしょうか?
例えば、Amazon マーケットプレイスのような
販売ユーザーと購入ユーザーの2種類のユーザーが存在する
このような場合のテーブル設計についてご教示いただけると有り難いです。
スレ違いでしたらすいません。 >>231
スレ違いでしたねすいません
スレを教えていただきありがとうございます。 何もしていない普通の一般人の自宅に隠しカメラを取り付け
それをネットでリアルタイム配信
仲間という人間に対する盗聴盗撮生ネット配信の会
しかけたカメラの映像
乗っ取っているPCの画像をリアルタイムで生配信中
集団で仲間の私生活を覗いて楽しんでいる
そんなことが今この国では行われています
仄めかしの隠語は
猫 穴 水 仲間 selectで取得するカラムにAUTO_INCREMENTを指定する方法はありませんか >>236
取得したレコードに連番を付けたいなら方法はある
もしそうなら、これ以降は自分が使っているデータベーススレに移動しろ >>237
どのDBでも大差ないだろ・・・
と思って実験したらmysqlとoracleとpostgresとsqliteで全部やり方違うのな
ちょっと面白かった >>238
フェッチした順に普通は1から振られる。 質問させて頂きます
社員IDひとつに対して10行の権限管理レコードが必要です
これを500人分ひとつのテーブルに追加します
レコード例
社員ID, 画面ID, 閲覧, 編集, 削除, …
00000, W001, true, false, false, …
00000, W002, true, true, true, …
…
00000, W010, false, false, false, …
権限管理10行のテンプレと追加したい社員IDのリストはあります
SQL Management StudioかAccessを用いて作業したいのですが、この道具をどのように活かしてクエリを書けばいいのか思い浮かばなかったので質問させて頂きました
アドバイスよろしくお願いします >>242
絞り込み条件が社員IDと画面IDなんだろ?
何がやりたいのか書いてくれ。 >>242
手作業多めでいいなら
1 適当なエディタでカンマをタブに変換
2 excelを開いてシート全体を文字列に設定
3 1をシートに貼り付け
4 テーブルとおなじ列に加工
5 accessのテーブルに貼り付け
まあinsert文に加工して実行でもいいかもね >>244
どう読んだらCSVファイルの取り込みと解釈できるのか? >>243-245
レスありがとうございます
今回は>>244さんのアドバイスを元に
社員IDと画面IDのテンプレを二重ループで合体させてテキストに出力した5000行を
テキストエディタとExcelで整形してAccessに貼り付けて追加しました 言語の設定ってインストールするときに指定する仕様なんですか?
何も指定しないと勝手にユニコードになると思っていたのですが >>248
自分が使っているデータベーススレに移動して、疑問に思っていることをもっと具体的に聞け >>249
移動します
SQLServer2012なんだけど
俺もよくわかってない >>242
insert ... select ... from 権限管理10行のテンプレ (innnerとかcrossとか)join 追加したい社員IDのリスト
で行けるんじゃないのか
もうエクセル整形でやったのならそれでいいけど 何をやろうとしているかは大体想像できるんだが、
こういう仕組みを実装する時って、
個人単位で権限を操作するのかな?
新しい機能が追加される度に、全てのユーザーに
権限の可否を設定しないといけなくならないか? >>251
自分も「これは直積(cross join)でやるかな」と思ったんだけど
直積って実用上はあんまり出てこないんだよな
(SQLの考え方としてはとても重要だと思うのだけど)
それを初心者スレで勧めていいものかと躊躇ってしまった 244書いたの俺だけどリストって書いてあったから
深く考えずにテキストファイルかなんかだと思ったわ
騒がせてすまんね >>242
要件にもよるかも知らんが事前に全部追加せんでいい方向もある。
ユーザーテーブルとの乖離にどう対処するか面倒だし。
ユーザーテーブルがなかったら、うん、まぁ、うん。 超初心者です。
ユーザーごとに掲示板を作る場合
例えば
boardsというテーブルを作って、すべての掲示板の書き込みをそこで管理するのがいいのか、
それともユーザーごとに001boardsみたいにテーブルを作って管理するのがいいのでしょうか?
一元管理の場合、書き込み数が多くなった場合に処理が遅くなるなどの、問題点はないでしょうか?
アドバイスをよろしくおねがいします<(_ _)> >>257
ユーザーごとにテーブルを作るのは管理がたいへんだろ。性能の問題はかなりのデータ量でないかぎりは問題ないと思っていい。 >>258
一元管理で設計してみたいと思います。
アドバイスありがとうございました。 >>260
ユーザーごとだとして、
例えばテーブル(ユーザー)数が1万を超えても問題ないでしょうか?
この場合レンタルサーバーなのでsqlite3を使うことになると思います
(Mysqlはテーブル数の制限がある) レンタルサーバーでサイトを作るだけです
そこでユーザー登録をして、ユーザーごとに専用の掲示板を建てるイメージです その程度なら一つのテーブルで良いと思うけど
不具合あると、隣のユーザーの掲示板が覗けるとかあるかもね ユーザー退会したらデータどうすんの?
破棄するならテーブル別がらくじゃね
同一テーブルだと日次で深夜にでも削除実行するんか >>271
sqliteで複数ユーザーが
同一テーブルにアクセス、
まだわからないかなw >>261
> (Mysqlはテーブル数の制限がある)
どこ情報かしらないが、普通は制限はないよ
また、仮にsqlite3を使うとしたとき、重大な問題が別に発生する
それは、誰かが書き込みをするとファイルがロックするということ
要件的にそれで大丈夫かどうかは熟考する必要がある
逆にMySQLを使う場合でもユーザ単位でテーブルを分割する場合もある(ユーザIDによる水平分割)
ソシャゲ界隈では良くあること
これも、要件と相談してからだな あ、テーブル数の制限って、レンタルサーバだからなのか
なるほどねー まあこのまま続けてたら半年後にはなんでこんなバカな質問したんだろうと思うこと請け合い ユーザ数が1万人を超えるようなサービスを、MySQLのテーブル数が制限されるようなゴミレンサバで実行するなんて・・・
すごーい(別の意味で) 金取るシステムとは思えん
無料サービスだろ
エラーが発生してもデータが壊れても、すいませんテヘで済むような奴 会員数1万人のWebベースのサービスやりたいんだったら、SQLがどうのではなく、
それなりの通信環境、ハードウエア、システム要員を用意しないと駄目だろう そもそもこんなところで質問するようなやつなんだから
訳分からず質問してるだけだろ
察して遊んでやれよ >例えばテーブル(ユーザー)数が1万を超えても問題ないでしょうか?
要求仕様じゃないかな? テーブル名をフラグに使ったことならあるよ
テーブルがオープンできない=それは未使用
当時はみな気がくるっていた これからSQL勉強する者です
独学で本を参考にするつもりですが、まずSQLでデータベースから抽出できます、といえる程度になるにはどのくらいの期間見込めばいいでしょうか? いや真面目に・・3ヶ月くらいだろうか?ととりあえず予測を立てたのですが・・
実務でできないのが痛いところなのですが 何をインストールするのか知らんけど、つまずく奴はRDBを自分のPCにインストールするとこからつまずくからなw
あれこれやる前から考えてもしょーがない。自分でコマンドをどんどん入れてみるこったよw 君がPCを所有していて、OSが入っていて、ネットに接続できているなら
適当なSQLをダウンロードしてインストールすれば
勉強は今すぐにでも開始できそうなんだが >>290
あんたの才能とやる気次第としか言えない
SQLはかなり癖のある言語だから、ダメな人は1分で本を閉じて終わり >>291
MySQL
能書きいうよりまずやることは経験済み納得だが、今後の方向づけを検討しての質問だった >>294
そうなんですよ
いまうちmacしかも壊れた・・(へぼくてすまん)
つうことでうちは会社があまりダウンロードとかうるさくないのですが、
会社のwinマシンに落とすことを目論み中ですが、会社PCに個人で落としてる人いますか? それはここで聞かずに、上司に聞くべきことだろ
ちゃんと理由を説明して、何をインストールしたいか説明し
それが仕事で必要なことだとなればインストール可能じゃないのかな?
君の会社での役割が管理者で、PCの設定に関して権限があるなら、聞かなくてもいいだろうけど やはりこっそりはまずいか…
実務じゃ必要ないって言われるのが関の山だ
だってうちの上司ろくに関数もわからないお馬鹿…なんでもマッチョに力技が得意技なもんで
なくせに色々要求してくる
んでそんなとこを抜け出すためのSQL習得なのです
Winマシンを大人しく速攻買おう
つうことで安いの探すとこから始めます
Dellあたりかなー できたらVAIO けっこうまじめに質問したんだけどやっぱ2ちゃんだな
冷やかしだけで答えてはもらえないか
ま、いいやとっととやるから 真面目に回答しても冷やかしとしか受け取って貰えない w >>300
だいぶ抽象的で、何に役立つのか
分かりにくい質問だったことは
覚えておいて。 DB板は、おふざけな質問でない限りマトモに答えてくれるよ SQLでデータを抽出する基本だけなら、みんな言うように1日でできるぞ
select文流すだけだからな
問題は、SQLを発行する方法とそのための環境の構築が難しいだけで >>307
select hello from world 批判も応援する言葉もどちらもありがとう
290で3ヶ月と言ったのは、会社のちょっとデータ詳しいちょー意地悪なおっさん(でも非エンジニアで営業部のデータ取りまとめしてる程度)に
SQL独学で3ヶ月でてきて当たり前、オレは3ヶ月で覚えた、と言われて
もちろんそれはマウントしたいだけだからどの辺りまでかなんて言わないしこっちも聞かない
だから漠然とした答えに困るような素人くさい愚問なアホな質問とわかっていたんだけど、
とりあえずの導入としてはどのくらい見ればいいかな、と知りたくなってしまって
だから答えてくれた時間とかはその通りでもあるし、その限りでないこともわかってる
そのおっさんは独学で覚えたのが自慢で、でもそのおっさんがExcelで作ったものはちょっとした普通の作業が汚い
SEの人と一緒に働いたとき当たり前のことをちゃん綺麗に整えて作るからとても感心した
そんななんやかやがあり
スレ違いになり申し訳ない
Hello world 本日、postgresqlをDB2に替えたらwebアプリが動かなくなったわ。
もう逃げたい。俺のせいじゃないけど。 ■ このスレッドは過去ログ倉庫に格納されています