sure, heres the assets table
CREATE TABLE assets (
asset_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
type ENUM ('ac_unit','ats','chassis','furniture','generator','kvm','monitor','network_card','network_module','network_panel','network_standard','panel','pdu','periphial_storage','power_strip','blade_server','server','recepticle','ups','utility','rack','shelf'),
ac_unit_id TINYINT UNSIGNED,
ats_id TINYINT UNSIGNED,
furniture_id TINYINT UNSIGNED,
generator_id TINYINT UNSIGNED,
pdu_id TINYINT UNSIGNED,
panel_id SMALLINT UNSIGNED,
recepticle_id SMALLINT UNSIGNED,
power_strip_id SMALLINT UNSIGNED,
utility_id TINYINT UNSIGNED,
ups_id TINYINT UNSIGNED,
rack_id INT UNSIGNED,
created_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
created_by VARCHAR(50) DEFAULT 'lurtnowski@industechnology.com',
updated_date TIMESTAMP,
updated_by VARCHAR(50),
FOREIGN KEY ( ac_unit_id ) REFERENCES ac_units ( ac_unit_id ),
FOREIGN KEY ( ats_id ) REFERENCES atss ( ats_id ),
FOREIGN KEY ( furniture_id ) REFERENCES furnishings ( furniture_id ),
FOREIGN KEY ( generator_id ) REFERENCES generators ( generator_id ),
FOREIGN KEY ( pdu_id ) REFERENCES pdus ( pdu_id ),
FOREIGN KEY ( panel_id ) REFERENCES panels ( panel_id ),
FOREIGN KEY ( recepticle_id ) REFERENCES recepticles ( recepticle_id ),
FOREIGN KEY ( power_strip_id ) REFERENCES power_strips ( power_strip_id ),
FOREIGN KEY ( ups_id ) REFERENCES upss ( ups_id ),
FOREIGN KEY ( utility_id ) REFERENCES utilities ( utility_id ),
FOREIGN KEY ( rack_id ) REFERENCES racks ( rack_id ),
PRIMARY KEY ( asset_id )
);
The query to simply get all the assets (of several types) into an array ix
'SELECT type,assets.asset_id,
blade_servers.name AS blade_server_name,blade_server_id,blade_server_type_id,blade_servers.beginning_ru AS blade_server_beginning_ru,blade_servers.ending_ru AS blade_server_ending_ru,
kvms.name AS kvm_name,kvm_id,kvm_type_id,kvms.beginning_ru AS kvm_beginning_ru,kvms.ending_ru AS kvm_ending_ru,
monitors.name AS monitor_name,monitor_id,monitors.beginning_ru AS monitor_beginning_ru,monitors.ending_ru AS monitor_ending_ru,
network_cards.name AS network_card_name,network_card_id,network_cards.beginning_ru AS network_card_beginning_ru,network_cards.ending_ru AS network_card_ending_ru,
servers.name AS server_name,server_id,servers.beginning_ru AS server_beginning_ru,servers.ending_ru AS server_ending_ru,
shelf_id,shelfs.beginning_ru shelf_beginning_ru
FROM assets
LEFT JOIN blade_servers ON assets.asset_id = blade_servers.asset_id
LEFT JOIN kvms ON assets.asset_id = kvms.asset_id
LEFT JOIN monitors ON assets.asset_id = monitors.asset_id
LEFT JOIN network_cards ON assets.asset_id = network_cards.asset_id
LEFT JOIN servers ON assets.asset_id = servers.asset_id
LEFT JOIN shelfs ON assets.asset_id = shelfs.asset_id
WHERE rack_id = '.$rack_id.' AND
(type ="blade_server" OR type ="kvm" OR type ="monitor" OR
type ="network_card" OR type ="servers" OR type ="shelfs")'