翔泳社のオンラインショップ

SQLパズル 第2版 正誤表

(最終更新日:2009-10-14)

お買い上げになった刷数:
訂正箇所 改訂
刷数
内容
P.052
SELECT文の5行目
2刷
ELSE 'C1' END
ELSE 'CL' END
P.178
[パズル42]問題文:
先頭のCREATE TABLE文
2刷
fish_name CHAR(20) NOT NULL,
fish_name VARCHAR(20) NOT NULL,
P.204
[パズル48]答えその4:
先頭のSQL文
2刷
WHILE increment < maxnum
    DO INSERT INTO Sequence
        SELECT seq + increment FROM Sequence;
              SET increment = increment + increment;
    END WHILE;
WHILE increment < maxnum
    DO INSERT INTO Sequence
        SELECT seq + increment FROM Sequence;
              SET increment = increment + increment;
END WHILE;
END;
P.213
[パズル50]答えその5:
2つ目のSQL文
2刷
HAVING (SELECT SUM(DISTINCT
                              CASE WHEN category = :cat_1
                                      THEN 1
                                      WHEN category = :cat_2
                                      THEN 2
                                      WHEN category = :cat_3
                                      THEN -3 ELSE NULL END)) = 3;
HAVING (SUM(DISTINCT
                    CASE WHEN category = :cat_1
                            THEN 1
                            WHEN category = :cat_2
                            THEN 2
                            WHEN category = :cat_3
                            THEN -3 ELSE NULL END)) = 3;
P.251
[パズル61]答えその1:
見出し
2刷
答えその1
答えその3
P.267
[パズル64]答えその2:
「--2次元の場合:第2案」のSQL文
(7行目)
2刷
OR (B2.high BETWEEN B1.low and B1.high));

※末尾のセミコロンが不要
OR (B2.high BETWEEN B1.low and B1.high))
P.302
[パズル70]答えその3:
2つ目のCREATE VIEW文
2刷
CREATE VIEW StockTrends
(ticker_sym, sale_date, closing_price, trend)
AS SELECT H1.ticker_sym, H1.sale_date, H1.closing_price,
                  COALESCE(SIGN(MAX(H2.closing_price)
                  - H1.closing_price), 0) AS trend
        FROM StockHistory AS H1
                  LEFT OUTER JOIN StockHistory AS H2
                  ON H1.ticker_sym = H2.ticker_sym
                  AND H2.sale_date < H1.sale_date
      GROUP BY H1.ticker_sym, H1.sale_date, H1.closing_price;
CREATE VIEW StockTrends
(ticker_sym, sale_date, closing_price, trend)
AS
SELECT ticker_sym, sale_date, closing_price,
            SIGN(closing_price -
                (SELECT closing_price
                    FROM StockHistory H2
                  WHERE H1.ticker_sym = H2.ticker_sym
                      AND H2.sale_date =
                            (SELECT MAX(H3.sale_date)
                                FROM StockHistory H3
                              WHERE H2.ticker_sym = H3.ticker_sym
                                  AND H3.sale_date < H1.sale_date)))
            AS trend
  FROM StockHistory H1;
P.302
[パズル70]答えその4:
CREATE VIEW文
(7行目)
2刷
ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING)), )
ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING)), 0)

ページ上に戻る

正誤表トップに戻る