2个值共享公共字符的SQL条件

时间:2018-12-03 11:14:04

标签: mysql sql database join where

我正在尝试创建一个查询,其中列出了staffID,staffName和staffDOB,但只有名字和姓氏以相同字母开头的工作人员。因此,我将staffFirst和staffLast都作为单独的列,将它们结合在一起。我不会自定义staffID和staffDOB。我希望它返回职员的名字,如adam apple = a apple,所以输出如下:

staffID | staffName | staffDOB
------------------------------
1       | A Apple   | 12/10/99
....    | ....      | ....

所有列都在同一表“ N_Staff”中。我正在使用HeidiSQL,我相信它使用MySQL。我知道如何获取每一列的数据,尽管它选择了姓氏和名字的首字母并进行比较,这使我感到困惑,因为它不是我要查找的特定字母,而是两者都通用的任何字母索引为[0]的表格。

至此:

SELECT staffID FROM N_Staff,
SELECT staffFirst, staffLast AS staffName
FROM N_Staff WHERE ... , --perhaps should be using LEFT ?
SELECT staffDOB from N_Staff;

2 个答案:

答案 0 :(得分:1)

怎么样:

SELECT staffID, CONCAT(LEFT(staffFirst,1), ' ', staffLast) AS staffName, staffDOB
FROM N_Staff
WHERE LEFT(staffFirst,1) = LEFT(staffLast,1)

答案 1 :(得分:0)

使用此:

    SELECT * FROM NS_WORDS; 
    mani
    nikhil
    sugandh
    mining
    _lkdnsad
    _lkdndsadnjas
    _lk
    _ja
    _ls
    _lsa
    nikhil nikhil
    nikhil name

SELECT * FROM NS_WORDS
where not( to_char(SUBSTR(a,1,1))=to_char(substr(a,instr(a,' ',1,1),1))); 

output:
nikhil nikhil
nikhil name

您的去向:

where not( to_char(SUBSTR(staffName ,1,1))=to_char(substr(staffName 
,instr(staffName ,' ',1,1),1)));