我有一个数据库表" person"有两列firstName和lastName。现在我想选择所有" firstName lastName"包含给定的名称。我怎么能用SQL查询呢?
示例:
具有firstName的人x:A B和lastName:C
具有firstName的人y:A和lastName:B C
具有firstName的人z:A B和lastName:C D
如果查询的条件是fullName(firstName lastName)包含B C
,则应在输出中显示所有这些人该表的设计是没有fullName列。
答案 0 :(得分:7)
我认为以下会做你想做的事:
where concat(firstname, ' ', lastname) like concat('%', replace($search, ' ', '%'), '%')
这会将搜索词中的空格替换为通配符,因此可以想象它与其他一些情况相匹配。
答案 1 :(得分:0)
我不确定我是否遵循了100%,但似乎您想要选择名字中同时包含B和C的每个人。如果是这样的话,我会选择以下内容:
var tempList = null;
var finalList = [];
// use underscore to get count of each number and store in tempList
tempList = _.countBy(array, function(hour, index){
return currentDiscInHourFormat;
});
//loop through the key/val obj that gets produced from tempList and set a multidimensional array in finalList
for(var key in tempList){
finalList.push([key, tempList[key]]);
}
对于涉及单个字符串的更一般的解决方案,例如“AL”,请使用
SELECT (firstName, lastName) as FullName from person where
(firstName like '%B%' OR lastName like '%B%') and
(firstName like'%C%' or lastName like '%C%');
答案 2 :(得分:0)
我认为这就是你的要求
SELECT First_Name+' '+Last_Name As Full_Name
From Table_xyz where
First_Name in(a,ab, b)
And Last_Name in (b,c,bc,cd)