mysql - 如果不匹配行则存储在新字段中
mysql - If not match rows then store in new field
给定的查询工作正常,但我需要一些修改。在第三行我有
LEFT JOIN tbl_emp
ON inventory
.itemGiven
= tbl_emp
.Sname
如果匹配则过滤输出。
但问题是,所有 inventory
.itemGiven
都不存在于 tbl_emp
.Sname
中。我想,如果不匹配,则结果存储在不同的字段中。
SELECT `inventory`.`ID` , `inventory`.`out_` , `inventory`.`userName` , date_format( `inventory`.`date` , '%Y-%m-%d' ) AS date, `department`.`id` , `tbl_emp`.`emp_id_number`
FROM `inventory`
LEFT JOIN `tbl_emp` ON `inventory`.`itemGiven` = `tbl_emp`.`Sname`
LEFT JOIN `department` ON `inventory`.`givenDept` = `department`.`dept`
WHERE `out_` >0
LIMIT 0 , 30
我知道这是可能的,请任何人帮助我。
提前致谢。
在 select 部分
中将 tbl_emp.emp_id_number
替换为 IFNULL(tbl_emp.emp_id_number,inventory.itemGiven)
SELECT `inventory`.`ID` , `inventory`.`out_` , `inventory`.`userName` , date_format( `inventory`.`date` , '%Y-%m-%d' ) AS date, `department`.`id` , `tbl_emp`.`emp_id_number`
FROM `inventory`
LEFT JOIN `tbl_emp` ON `inventory`.`itemGiven` = `tbl_emp`.`Sname`
LEFT JOIN `department` ON `inventory`.`givenDept` = `department`.`dept`
WHERE `out_` >0
给定的查询工作正常,但我需要一些修改。在第三行我有
LEFT JOIN
tbl_emp
ONinventory
.itemGiven
=tbl_emp
.Sname
如果匹配则过滤输出。
但问题是,所有 inventory
.itemGiven
都不存在于 tbl_emp
.Sname
中。我想,如果不匹配,则结果存储在不同的字段中。
SELECT `inventory`.`ID` , `inventory`.`out_` , `inventory`.`userName` , date_format( `inventory`.`date` , '%Y-%m-%d' ) AS date, `department`.`id` , `tbl_emp`.`emp_id_number`
FROM `inventory`
LEFT JOIN `tbl_emp` ON `inventory`.`itemGiven` = `tbl_emp`.`Sname`
LEFT JOIN `department` ON `inventory`.`givenDept` = `department`.`dept`
WHERE `out_` >0
LIMIT 0 , 30
我知道这是可能的,请任何人帮助我。 提前致谢。
在 select 部分
中将tbl_emp.emp_id_number
替换为 IFNULL(tbl_emp.emp_id_number,inventory.itemGiven)
SELECT `inventory`.`ID` , `inventory`.`out_` , `inventory`.`userName` , date_format( `inventory`.`date` , '%Y-%m-%d' ) AS date, `department`.`id` , `tbl_emp`.`emp_id_number`
FROM `inventory`
LEFT JOIN `tbl_emp` ON `inventory`.`itemGiven` = `tbl_emp`.`Sname`
LEFT JOIN `department` ON `inventory`.`givenDept` = `department`.`dept`
WHERE `out_` >0