Sam*_*lva 0 mysql substring left-join where-clause
美好的一天!,我遇到一些mysql命令的问题.
根据我的下面的例子,我想得到如下数据
SELECT c.*, SUBSTRING_INDEX(v1.c_value, ',', -1) AS e_status
FROM reg_emp AS c
LEFT JOIN default_values AS v1 ON c.emp_status = SUBSTRING_INDEX(v1.c_value, ',', 1) AND v1.category = 'emp_status'
where e_status = 'On Duty'
Run Code Online (Sandbox Code Playgroud)
但即使使用v1.e_status或c.e_status,这对我也不起作用
请记住,我不想让它成为现实 where c.emp_status = '1'
希望你能理解我的问题.
谢谢,
问候,
Sameera Silva
在SQL语句中,该SELECT子句在该WHERE子句之后进行计算.因此,您必须重复该WHERE子句中的公式:
SELECT c.*, SUBSTRING_INDEX(v1.c_value, ',', -1) AS e_status
FROM reg_emp AS c
LEFT JOIN default_values AS v1 ON c.emp_status = SUBSTRING_INDEX(v1.c_value, ',', 1) AND v1.category = 'emp_status'
WHERE SUBSTRING_INDEX(v1.c_value, ',', -1) = 'On Duty'
Run Code Online (Sandbox Code Playgroud)
操作顺序是
你不能在WHERE子句中有别名.
| 归档时间: |
|
| 查看次数: |
33 次 |
| 最近记录: |