说我有一个表客户,其列名字和姓氏 我希望能够编写一个选择所有客户的查询 确切的姓氏和 模糊名字
当我在firstname列上运行它时,Substring将按预期返回值
查询
来自客户的SELECT SUBSTR(firstname,1,4);
**output:**
ABCD
qwry
cvbn etc
但我不确定如何让这项工作为2条记录进行匹配,其中一个客户的名字前4个字符与其他客户名字相同。
示例:
Customer1:Firstname = ABCDXYZ Lastname = SSS
Customer2:Firstname = ABCD Lastname = SSS
预期结果是能够在输出中看到这两条记录
答案 0 :(得分:1)
以下查询将获取具有相同姓氏和相同名字的前四个字符的记录。 它使用自联接。希望表有一个像id这样的主键。
SELECT distinct c1.firstname,
c1.lastname,
c2.firstname,
c1.lastname
FROM customer c1, customer c2
WHERE c1.id <> c2.id
AND c1.lastname = c2.lastname
AND substr(c1.firstname,1,4) = substr(c1.firstname,1,4)
答案 1 :(得分:0)
我不完全确定我明白你要做什么,但如果你知道firstName常见的“前缀”,你可以这样做:
SELECT * from Customer WHERE firstname LIKE'ABCD%'AND lastName ='SSS';