2008-07-01から1ヶ月間の記事一覧
積集合。使ったことありません。 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…
SELECT CustomerName AS 氏名 FROM Customers UNION SELECT EmployeeName AS 氏名 FROM Employees ; UNION ALL同様selectの結果をまとめます。重複があった場合は一つにまとめます。まとめる処理がある分UNION ALLよりかは処理コストがかかるので、重複がな…
SELECT CustomerName AS 氏名 FROM Customers UNION ALL SELECT EmployeeName AS 氏名 FROM Employees ; 複数のselectの結果をまとめます。重複があった場合それぞれ結果として残ります。
Perl表技集に標準モジュールの一覧を追加しました。手元の環境にはいろいろインストールしていていろいろなモジュールが使えるようになっているのですが、別の環境で動かすことも考えないと行けない時に何が標準で用意されているのかを知りたくなることがた…
Battle for Wesnothで「Liberty」をクリアしました。最終ステージで敵方のボスを倒さなくても良かったのでちょっと簡単でした。
PMを申し込みました。去年は落ちているので今年は合格したいところ。
意外とよく使う相関副問い合わせです。各レコードの値に対してSQLを実行するというというイメージ。以下の例ではs1の各レコードに対してWHERE句の中にある括弧内のSQLを実行するというような感じです。 SELECT p.ProductName , s1.SaleDate FROM Sales AS s1…
連想検索というWebアプリケーションを作りました。キーワードを入力すると関連するキーワードを取得してタグクラウドで表示するというアプリケーションです。各種の関連語検索WebAPIを呼び出して、その結果をマージしてタグクラウドにしています。あまりにも…
Battle for Wesnothです。一度やり始めるとなかなか止まりません。「2人の兄弟の物語」と「An Orcish Inclusion」をクリアしました。どちらも初心者向けなので結構簡単でした。と言いつつAn Orcish Inclusionでは途中で一回負けてしまいましたが。
ここ数日Battle for Wesnothばっかりやっていました。「南部防衛戦線」は簡単にクリアできたので引き続き「王位継承者」に挑戦してクリアしました。タクティカルシミュレーションというとすっかりVM JAPANのランダム性のないダメージ計算に慣れていたので、…
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にreflexa Web APIを追加しました。このAPIもMASHUP AWARD 4thの対象APIです。
連想クイズで利用するAPIにTRIPITの関連語検索WebAPIを追加しました。このAPIはMASHUP AWARD 4thの対象APIになっていますが、連想クイズは前に応募したことがあるのでこれでは応募しないつもりです。
「はてな風の記法で====で水平線にならないバグを修正しました」と書いたのですがこれは間違いで、修正できていませんでした。====ではなく----で水平線になっていたという失敗。次で今度こそ直します。
Perl表技集にHTTPでのファイルダウンロードを並列に実行するを追加しました。HTTP::AsyncモジュールとParallel::ForkManagerモジュールを使った例を書いています。
バージョン1.15.0です。ダウンロードはこちらからどうぞ。 Pukiwiki風とlivedoor Wiki風の記法で、テーブルの連結(>)に対応しました。 検索機能でタイトルも検索対象にするようにしました。 livedoor Wiki風の記法で、テーブルヘッダを作る際に各項目の最初…
九九の表示です。printfでフォーマット。 import Text.Printf main = do putStrLn $ unlines $ kuku kuku = concatMap (\n->ku n) [1..9] ku :: Int -> [String] ku n = map (\m->printf "%d * %d = %2d" n m (n * m)) [1..9]
同じテーブル同士を結合するというだけで、通常の結合と同じです。結合対象のテーブル名が同じなので、別名を付けることが必要になります。 SELECT p1.ProductName AS 商品名1 , p2.ProductName AS 商品名2 , (p1.Price + p2.Price) AS セット価格 FROM Prod…
記法でFreeStyleWiki風を設定できるようにしました。参考にしたのはhttp://fswiki.org/wiki.pl?page=Helpです。シンプルな記法だと思いますが、YukiWiki系の記法になれていると違和感がありますね。今週末か来週末あたりに新バージョンとして公開しようかと…
少し時間に余裕ができたので自作のソフトのバージョンアップ作業をやっています。ひとりWikiでは設定情報の保存にはレジストリを使っていたので、文書毎に例えば記法を変える時には毎回手動で設定を変更する必要がありました。今作業しているバージョンアッ…
SELECT p.ProductName , AVG( p.Price * CASE WHEN s.Quantity IS NULL THEN 0 ELSE s.Quantity END ) AS 平均販売価格 FROM Products AS p LEFT OUTER JOIN Sales AS s ON s.ProductID = p.ProductID GROUP BY p.ProductName ; JOINのところがLEFT OUTER JO…
逆転したビット列です。2進数にしてreverseして10進数に戻しています。 import Data.Char import Numeric main = do print $ rbits 4 print $ rbits 5 rbits :: Int -> [Int] rbits n = map (\m -> readBin $ reverse $ padding0 n (toBin m)) $ take (2 ^ n…