SELECT t.id,t.order_number,t.registration_Time,t.inspect_unit,t.inspect_form,t.unit_type,t.unit_ids,t.unit_name, t.problem,t.ask_leave_ids,t.ask_leave_name,t.disposal_situation,t.catalog_id,t.street_name,t.check_street_ids,t.check_street_name,t.receive_Unit,sd.dept_name AS receive_Unit_Name FROM tb_duty_inspect_class t LEFT JOIN tb_sys_dept sd ON sd.ID = t.receive_Unit WHERE t.is_delete='0' 我要根据receive_Unit_Name字段中的值来查询unit_name中的值怎么写
时间: 2024-02-25 17:55:36 浏览: 61
您可以使用子查询的方式来实现这个查询,具体的 SQL 语句如下:
```
SELECT t.id,t.order_number,t.registration_Time,t.inspect_unit,t.inspect_form,t.unit_type,t.unit_ids,t.unit_name,
t.problem,t.ask_leave_ids,t.ask_leave_name,t.disposal_situation,t.catalog_id,t.street_name,t.check_street_ids,t.check_street_name,
t.receive_Unit,sd.dept_name AS receive_Unit_Name
FROM tb_duty_inspect_class t
LEFT JOIN tb_sys_dept sd ON sd.ID = t.receive_Unit
WHERE t.is_delete='0' AND t.unit_name IN (
SELECT unit_name
FROM tb_duty_inspect_class
LEFT JOIN tb_sys_dept ON tb_sys_dept.ID = tb_duty_inspect_class.receive_Unit
WHERE tb_sys_dept.dept_name = 'receive_Unit_Name'
)
```
其中,子查询部分会根据 `receive_Unit_Name` 字段的值查询出符合条件的 `unit_name`,外层查询则会根据这些 `unit_name` 的值来筛选出对应的数据记录。
阅读全文