The Assets Crosstab Tables as SQL
N.B. Some DBMSs may require quoted tables and fields names.
DROP TABLE IF EXISTS Assets;
DROP TABLE IF EXISTS AssetStatus;
DROP TABLE IF EXISTS AssetTypes;
CREATE TABLE Assets (
AssetID INTEGER,
AssetTag VARCHAR(25),
AssetType INTEGER,
AssetStatus INTEGER
);
INSERT INTO Assets VALUES (1001, 'hol1234', 1, 3);
INSERT INTO Assets VALUES (1002, 'hol1233', 1, 2);
INSERT INTO Assets VALUES (1003, 'hol3421', 2, 1);
INSERT INTO Assets VALUES (1004, 'svr1234', 3, 2);
INSERT INTO Assets VALUES (1005, 'per2460', 1, 1);
INSERT INTO Assets VALUES (1006, 'hol3610', 3, 3);
INSERT INTO Assets VALUES (1007, 'svr4321', 2, 2);
INSERT INTO Assets VALUES (1008, 'hol2780', 1, 1);
INSERT INTO Assets VALUES (1009, 'hol2781', 3, 2);
INSERT INTO Assets VALUES (1010, 'svr7311', 2, 3);
INSERT INTO Assets VALUES (1011, 'hol2783', 1, 3);
INSERT INTO Assets VALUES (1012, 'hol2784', 3, 2);
INSERT INTO Assets VALUES (1013, 'per4242', 3, 3);
INSERT INTO Assets VALUES (1014, 'per4243', 3, 3);
INSERT INTO Assets VALUES (1015, 'svr7313', 3, 2);
INSERT INTO Assets VALUES (1016, 'per2463', 3, 2);
INSERT INTO Assets VALUES (1017, 'per2463', 3, 2);
INSERT INTO Assets VALUES (1018, 'svr7311', 2, 3);
INSERT INTO Assets VALUES (1019, 'svr7311', 2, 3);
INSERT INTO Assets VALUES (1020, 'hol2785', 1, 1);
INSERT INTO Assets VALUES (1021, 'hol2785', 1, 3);
INSERT INTO Assets VALUES (1022, 'svr1234', 3, 2);
INSERT INTO Assets VALUES (1023, 'svr1234', 3, 2);
INSERT INTO Assets VALUES (1024, 'hol2780', 1, 3);
INSERT INTO Assets VALUES (1025, 'hol2780', 1, 3);
INSERT INTO Assets VALUES (1026, 'hol2780', 1, 3);
INSERT INTO Assets VALUES (1027, 'svr4321', 2, 1);
CREATE TABLE AssetStatus (
ID INTEGER,
StatusName VARCHAR(25)
);
INSERT INTO AssetStatus VALUES (1, 'Inventory');
INSERT INTO AssetStatus VALUES (2, 'Shipped');
INSERT INTO AssetStatus VALUES (3, 'Deployed');
CREATE TABLE AssetTypes (
ID INTEGER,
TypeName VARCHAR(25)
);
INSERT INTO AssetTypes VALUES (1, 'Desktop');
INSERT INTO AssetTypes VALUES (2, 'Laptop');
INSERT INTO AssetTypes VALUES (3, 'Server');