Я не уверен, имеет ли это название большой смысл. Этот вопрос является более глубоким вопросом, касающимся вопроса, который я задавал ранее здесь
Наше программное обеспечение имеет журнал выполнения, и мне удалось записать этот сложный запрос.
По сути, он вытягивает все возможные столбцы, но только несколько строк, необходимых для просмотра. затем, как программное обеспечение показывает только столбцы в представлении, которое пользователь сохранил. я хочу получить результат этого сложного запроса, чтобы показать только столбцы, соответствующие этому другому запросу:
SELECT *
FROM list_config
WHERE list_config.config_name = 'username'
AND list_config.visible = 'Y';
мускулистый:
SELECT DISTINCT
wo.id AS wo_id,
wo.create_date,
wo.priority,
wo.activity_status_id,
wo.short_description,
wo.ops_note,
CONVERT(varchar(1000), task.description) AS description,
customer.customer_name,
customer.account_manager,
task.id AS task_id,
wo.type_of,
CASE WHEN wo.type_of = 'R' THEN 'Request' WHEN wo.type_of = 'P' THEN 'Project' END AS type_descr,
wo.project_class_id,
CASE WHEN (task.ovr_bill_status IS NOT NULL) THEN task.ovr_bill_status ELSE task.bill_status END AS bill_status,
wo.customer_id,
customer.support_who,
customer.programmer,
customer.proj_manager,
customer.customer_class,
customer.date_go_live,
customer.within_golive_days,
wo.resp_user_id,
task.plan_hours AS plan_hours,
task.actual_hours AS actual_hours,
task.plan_start_date AS plan_start_date,
task.plan_finish_date AS plan_finish_date,
wo.release_id,
customer.timezone,
wo.update_date,
wo.grouping_id,
wo.grouping_id2,
users.avail_status AS acct_manager_available
FROM task,
work_order AS wo
LEFT OUTER JOIN customer ON wo.customer_id = customer.code_id
AND customer.company_id = 'MCLD'
LEFT OUTER JOIN users ON users.id = customer.account_manager
AND users.company_id = 'MCLD',
assignment
WHERE task.company_id = 'MCLD'
AND wo.status <> 'V'
AND task.status <> 'C'
AND assignment.is_complete = 'N'
AND wo.customer_id NOT IN ('ZZZZ')
AND task.work_order_id = wo.id
AND wo.company_id = 'MCLD'
AND task.id = assignment.task_id
AND wo.id = assignment.work_order_id
AND assignment.assigned_user_id IN ('SLSSVC')
AND assignment.company_id = 'MCLD'
ORDER BY wo.create_date;
вот все столбцы в таблице list_config, сделанные путем выбора верхней 1000
SELECT TOP (1000) [company_id]
,[column_width]
,[config_name]
,[field_name]
,[grid_name]
,[sequence]
,[visible]
,[column_alignment]
,[config_owner]
,[sort_order]
,[grid_odd_row_color]
,[sort_sequence]
,[grid_even_row_color]
ОТ [list_config]