2008-01-01から1年間の記事一覧

問題追加

その25(2x2)を追加しました。

更新条件に副問い合わせを使う

SQL

UPDATE Products SET Price = Price * 1.01 WHERE ProductID IN ( SELECT ProductID FROM Sales GROUP BY ProductID HAVING SUM( Quantity ) > 100 ) ; SELECTの時の副問い合わせと特に変わることはないので難しくはありません。

入れたつもりがないのにSafariが入った

iTunesのバージョンアップのときにちゃんとSafariの所のチェックを外したつもりだったのですけど、Safariがインストールされていました。チェックを外したのが勘違いだったのか、どこかで操作を間違えたのか。すぐ消しました。

特定のレコードを更新する

SQL

UPDATE Customers SET Address = '世田谷区たがやせ1丁目' WHERE CustomerID = 5 ; 書き順は1)UPDATE、2)テーブル名、3)WHERE、4)条件、5)SET、6)更新内容、です。SELECTのときと同じで先に条件を書いてから、対象となる項目を書きます。

Lightweight Language Futureに行ってきました

8月30日に開催されたLightweight Language Futureに行ってきました。あまりの時間の長さに座り疲れるほどでした。ばらばらと感想とかメモとか。内容についてはほとんど書いていないので、内容が知りたい方は最後の方のリンクをたどって行って下さい。 英語が…

問題追加

その24(2x2)を追加しました。

レコードを更新する

SQL

updateです。簡単。 UPDATE Products SET Price = Price * 0.97 ;

Ajaxを使ったクロスワード辞典を作りました

クロスワード辞典を作りました。一部の文字が分からない状態での検索ができるという普通の機能の他に、連想検索として関連語の表示とWikipediaを検索して単語の説明の表示もできるようになっています。スライダーをドラッグするとエラーが出ます。これはその…

検索結果をINSERT

SQL

INSERT INTO Salary ( SalaryID , EmployeeID , PayDate , Amount ) SELECT s.EmployeeID + 100000 , s.EmployeeID , '2008-02-14' , SUM( s.Quantity * p.Price * 0.001 ) FROM Sales AS s JOIN Products AS p ON s.ProductID = p.ProductID GROUP BY s.Emp…

問題追加

その23(2x2)を追加しました。

問題を作成できるサービス

howzy!クロスワードメーカーというサービスを使うと自分で問題を作って公開することができるようです。ケータイサイトなのでPCではアクセスできないです(UserAgentを変えれば良いのかも)。自分で問題を作りたいという人はどの程度いるのでしょうね。解くのは…

レコードを一件追加する

SQL

INSERTです。簡単。 INSERT INTO Products ( ProductID , ProductName , Price , CategoryID ) VALUES ( 101 , 'サカナまっしぐら' , 270 , 5 ) ; というのが本で推奨する書き方ですが、下の書き方の方が読むのも書くのも慣れています。開始の括弧を改行後の…

except

SQL

差集合。使ったことがありません。Oracleの場合はminus。 SELECT EmployeeName FROM Employees EXCEPT SELECT e.EmployeeName FROM Sales AS s JOIN Employees AS e ON s.EmployeeID = e.EmployeeID ;

cpanコマンドでモジュール更新

Perl表技集の古いモジュールの更新にcpanコマンドを使う方法を追記しました。

問題追加

その22(2x2)を追加しました。

intersect

SQL

積集合。使ったことありません。 SELECT e.EmployeeName AS 氏名 , s.SaleDate AS 日付 FROM Sales AS s JOIN Employees AS e ON s.EmployeeID = e.EmployeeID INTERSECT SELECT e.EmployeeName AS 氏名 , s.PayDate AS 日付 FROM Salary AS s JOIN Employee…

UNION

SQL

SELECT CustomerName AS 氏名 FROM Customers UNION SELECT EmployeeName AS 氏名 FROM Employees ; UNION ALL同様selectの結果をまとめます。重複があった場合は一つにまとめます。まとめる処理がある分UNION ALLよりかは処理コストがかかるので、重複がな…

UNION ALL

SQL

SELECT CustomerName AS 氏名 FROM Customers UNION ALL SELECT EmployeeName AS 氏名 FROM Employees ; 複数のselectの結果をまとめます。重複があった場合それぞれ結果として残ります。

標準モジュール一覧

Perl表技集に標準モジュールの一覧を追加しました。手元の環境にはいろいろインストールしていていろいろなモジュールが使えるようになっているのですが、別の環境で動かすことも考えないと行けない時に何が標準で用意されているのかを知りたくなることがた…

もう一つクリア

Battle for Wesnothで「Liberty」をクリアしました。最終ステージで敵方のボスを倒さなくても良かったのでちょっと簡単でした。

情報処理技術者試験受験申込みしました

PMを申し込みました。去年は落ちているので今年は合格したいところ。

相関副問い合わせ

SQL

意外とよく使う相関副問い合わせです。各レコードの値に対してSQLを実行するというというイメージ。以下の例ではs1の各レコードに対してWHERE句の中にある括弧内のSQLを実行するというような感じです。 SELECT p.ProductName , s1.SaleDate FROM Sales AS s1…

連想検索を作りました

連想検索というWebアプリケーションを作りました。キーワードを入力すると関連するキーワードを取得してタグクラウドで表示するというアプリケーションです。各種の関連語検索WebAPIを呼び出して、その結果をマージしてタグクラウドにしています。あまりにも…

2つクリア

Battle for Wesnothです。一度やり始めるとなかなか止まりません。「2人の兄弟の物語」と「An Orcish Inclusion」をクリアしました。どちらも初心者向けなので結構簡単でした。と言いつつAn Orcish Inclusionでは途中で一回負けてしまいましたが。

王位継承者をクリア

ここ数日Battle for Wesnothばっかりやっていました。「南部防衛戦線」は簡単にクリアできたので引き続き「王位継承者」に挑戦してクリアしました。タクティカルシミュレーションというとすっかりVM JAPANのランダム性のないダメージ計算に慣れていたので、…

Battle for Wesnothをはじめました

Battle for Wesnothという完全ターン制のタクティカルシミュレーションゲームをはじめました。チュートリアルが終わって、初心者向けのキャンペーン「南部防衛戦線」をやっているところ。面白いので、しばらくはやり続けそうな気がします。

問題追加

その21(2x2)を追加しました。

メモリを節約しない力業

格子点の列挙です。候補となる格子点の一覧を作成してから、各格子点の距離を求めて距離の小さい順にソートしています。 import Data.List import Text.Printf -- x = sqrt(1000)/2 -- pointMax = sqrt(x^2 + x^2) -- = sqrt(500) -- ≒ 22.36 pointMax = 22 …

連想クイズ利用APIをさらに追加

連想クイズで利用するAPIにreflexa Web APIを追加しました。このAPIもMASHUP AWARD 4thの対象APIです。

連想クイズ利用API追加

連想クイズで利用するAPIにTRIPITの関連語検索WebAPIを追加しました。このAPIはMASHUP AWARD 4thの対象APIになっていますが、連想クイズは前に応募したことがあるのでこれでは応募しないつもりです。