我希望查询应该返回员工的所有结果,无论员工的姓名是不是在不同的列中
Posted
技术标签:
【中文标题】我希望查询应该返回员工的所有结果,无论员工的姓名是不是在不同的列中【英文标题】:i want query should return the all result of employee no matter if the name of employee is in different column我希望查询应该返回员工的所有结果,无论员工的姓名是否在不同的列中 【发布时间】:2016-04-05 11:07:50 【问题描述】:如果我要在 where 子句中提到的值在不同的列中,我希望结果应该返回所有员工的详细信息。
为此,我编写了如下查询:-
select *
from claim_master
where full_name='Trevor DSouza' in (select * from claim_master);
即,如果'Trevor DSouza'
名称存在于不同的列中,我希望查询应该显示结果。
但结果显示为:-
错误代码:操作数应包含 1 列
请帮我解决我的错误。请
【问题讨论】:
我不明白你为什么认为你需要 IN 子句。 “任何列”的要求是错误的。也许您正在考虑非结构化文档和 SOLR 之类的索引解决方案,而不是 mysql 关系数据库 先生,如果 'Trevor DSouza' 值在其他列中,我们如何搜索它。我的意思是,如果“Trevor DSouza”在其他列中,它也会返回结果。我想在表格中搜索这个值,不想提及列名 【参考方案1】:你可以试试这个
您必须在查询中提及列名,它不会像您上面写的那样工作。您可以使用下面的 sn-p 并尝试:
select
*
from
claim_master
where full_name like 'Trevor DSouza'
OR last_name like 'Trevor DSouza'
OR other_column_name like 'Trevor DSouza';
只需在 or 条件中添加列名。
【讨论】:
以上是关于我希望查询应该返回员工的所有结果,无论员工的姓名是不是在不同的列中的主要内容,如果未能解决你的问题,请参考以下文章
提供雇用超过 3 名员工的招聘人员的姓名以及未被招聘人员雇用的员工数量的查询