SQL := 'SELECT computers.*,' +
//Type name
'computer_types.name AS computer_type_name,' +
//Hardware developer name
'computer_hardware_developers.name AS computer_developer_name,' +
//Kind name
'computer_kinds.name AS computer_kind_name,' +
//Processor name
'processors.processor_developer_id,' +
'processors.model AS processor_model,' +
'processors.cores AS processor_cores,' +
'processors.frequency AS processor_frequency,' +
//Processor hardware developer name
'processor_hardware_developers.name AS processor_developer_name,' +
//Mointor account name
'monitor_accounts.monitor_id AS monitor_account_monitor_id,' +
'monitor_accounts.account_number AS monitor_account_number,' +
//Monitor name
'monitors.monitor_developer_id,' +
'monitors.monitor_type_id,' +
'monitors.model AS monitor_model,' +
'monitors.diagonal AS monitor_diagonal,' +
'monitors.wide_screen AS monitor_wide_screen,' +
//Monitor hardware developer name
'monitor_hardware_developers.name AS monitor_developer_name,' +
//Monitor type name
'monitor_types.name AS monitor_type_name,' +
//Floppy drive type name
'floppy_drive_types.name AS floppy_drive_type_name,' +
//Optical drive type name
'optical_drive_types.name AS optical_drive_type_name,' +
//Operation system license name
'os_licenses.os_id,' +
'os_licenses.license_number AS os_license_number,' +
'os_licenses.purchase_date AS os_purchase_date,' +
//Operation system name
'operation_systems.os_developer_id,' +
'operation_systems.name AS os_name,' +
'operation_systems.version AS os_version,' +
'operation_systems.subversion AS os_subversion,' +
'operation_systems.bits AS os_bits,' +
//Operation system software developer name
'os_software_developers.name AS os_developer_name,' +
//Filter name
'filter_programs.program_developer_id AS computer_filter_developer_id,' +
'filter_programs.name AS computer_filter_name,' +
'filter_programs.version AS computer_filter_version,' +
//Filter software developer name
'filter_software_developers.name AS computer_filter_developer_name,' +
//Filter type name
'filter_types.name AS computer_filter_type_name,' +
//Projector type name
'projector_types.name AS computer_projector_type_name,' +
//Program count
'(SELECT COUNT(*) FROM computer_program_licenses ' +
'WHERE computer_program_licenses.program_computer_id=computers.id) ' +
'AS computer_program_count,' +
//Device count
'(SELECT COUNT(*) FROM computer_device_accounts ' +
'WHERE computer_device_accounts.device_computer_id=computers.id) ' +
'AS computer_device_count ' +
//From
'FROM computers ' +
//Type name
'LEFT OUTER JOIN computer_types ON computer_types.id=computer_type ' +
//Hardware developer name
'LEFT OUTER JOIN hardware_developers AS computer_hardware_developers ' +
'ON computer_hardware_developers.id=computer_developer_id ' +
//Kind name
'LEFT OUTER JOIN computer_kinds ON computer_kinds.id=computer_kind ' +
//Processor name
'LEFT OUTER JOIN processors ON processors.id=computer_processor_id ' +
//Processor hardware developer name
'LEFT OUTER JOIN hardware_developers AS processor_hardware_developers ' +
'ON processor_hardware_developers.id=processors.processor_developer_id ' +
//Monitor account name
'LEFT OUTER JOIN monitor_accounts ' +
'ON monitor_accounts.id=computer_monitor_account_id ' +
//Monitor name
'LEFT OUTER JOIN monitors ' +
'ON monitors.id=monitor_accounts.monitor_id ' +
//Monitor hardware developer name
'LEFT OUTER JOIN hardware_developers AS monitor_hardware_developers ' +
'ON monitor_hardware_developers.id=monitors.monitor_developer_id ' +
//Monitor type name
'LEFT OUTER JOIN monitor_types ' +
'ON monitor_types.id=monitors.monitor_type_id ' +
//Floppy drive type name
'LEFT OUTER JOIN floppy_drive_types ' +
'ON floppy_drive_types.id=computer_floppy_drive_type_id ' +
//Optical drive type name
'LEFT OUTER JOIN optical_drive_types ' +
'ON optical_drive_types.id=computer_optical_drive_type_id ' +
//Operation system license name
'LEFT OUTER JOIN os_licenses ' +
'ON os_licenses.id=computer_os_license_id ' +
//Operation system name
'LEFT OUTER JOIN operation_systems ' +
'ON operation_systems.id=os_licenses.os_id ' +
//Operation system software developer name
'LEFT OUTER JOIN software_developers AS os_software_developers ' +
'ON os_software_developers.id=operation_systems.os_developer_id ' +
//Filter name
'LEFT OUTER JOIN programs AS filter_programs ' +
'ON filter_programs.id=computer_filter_id ' +
//Filter software developer name
'LEFT OUTER JOIN software_developers AS filter_software_developers ' +
'ON filter_software_developers.id=filter_programs.program_developer_id ' +
//Filter type name
'LEFT OUTER JOIN filter_types ON filter_types.id=computer_filter_type_id ' +
//Projector type name
'LEFT OUTER JOIN projector_types ON projector_types.id=computer_projector_type_id ' +
//Where
'WHERE computers.id=:id';
ParamInt['id'] := Id;
Open;