通过名字

时间:2015-06-02 11:53:37

标签: syntax sqlite

我有2个sqlite3表: FND 是一个名单及其可能的性别表,即:

nm,gndr  <-column names
Aliyah,F
Moses,M
Peter,M

会员是第二张表,即

Fname,Lname    <-column names
DAVID X, BAKER
MARY MIA,MCGEE
TINA HEATHER,JOHNSON
JIM PETER TOM, SANTINO 

members表在fname列中有第一个和中间名。

我正在尝试编写一个查询来列出Members table fnames列,其中生成的列根据fname列中的第一个单词指示性别。

我尝试了这个,但它没有工作:

select m.fname,(select gndr from FND where upper(nm) like m.fname||'%')as gender
from Members m

任何人都可以更正我的sql语句吗?

1 个答案:

答案 0 :(得分:0)

... upper(nm) like m.fname||'%'

让我们看一些示例值:

nm:    'David'
fname: 'DAVID X'

SQL: 'DAVID' LIKE 'DAVID X%'

这显然不匹配。

你必须反转LIKE操作数:

m.fname LIKE nm||'%'