Create Dummy Columns

Create Table Of Superheroes

-- Create a table called SUPERHEROES.
CREATE OR REPLACE TABLE SUPERHEROES (
  -- Column called ALTER_EGO allowing up to 100 characters
  "ALTER_EGO" VARCHAR(100),
  -- Column called BANK_BALANCE allowing 38 digits with 2 after the decimal point
  "AGE" INT,
  -- Column called STATE allowing up to 100 characters
  "STATE" VARCHAR(100)
);

Insert Rows For Each Superhero

-- Insert rows into SUPERHEROES
INSERT INTO SUPERHEROES 
    -- With the values
    VALUES
    ('The Bomber', '24', 'Maine'),
    ('Mr. Money', '12', 'Maine'),
    ('Nuke Miner', '59', 'Maine'),
    ('The Knife', '43', 'Maine'),
    ('Ninka Baker', '32', 'California'),
    ('Banana Bomber', '34', 'California'),
    ('Augustine', '12', 'California'),
    ('The Kid', '21', 'New York'),
    ('The Viking', '291', 'New York'),
    ('Skull Hustle', '10', 'New York');

Dummy Columns

Notice that the ALTER_EGO column does not appear because it is a string. We’d need to join that column back in to regain it.

-- Select all columns from SUPERHEROES
SELECT * FROM SUPERHEROES
     -- Create three columns (Maine, Arizona, and California) with a 1 if a row is a member
     -- of that category and a zero otherwise.
     PIVOT(count(ALTER_EGO) FOR STATE IN ('Maine', 'Arizona', 'California'));
AGE ‘Maine’ ‘Arizona’ ‘California’
24 1 0 0
12 1 0 1
59 1 0 0
43 1 0 0
32 0 0 1
34 0 0 1
291 0 0 0
10 0 0 0
21 0 0 0