sql查询如何 - 比较两个不同表的列中的值

时间:2014-09-30 22:16:22

标签: mysql sql

母,

我有两个表tab1和tab2,下面有详细信息

tab1-(名称的顺序是Firstname,MiddleName,LastName)


手机号码|名称

987654323 | Rahul Ajay Patil

98765456 | Amit Mahesh Meshram

987654343 | Jyoti Shankar Rao

987654543 | Vishesh Ranjit Sahu

tab2-(名称的顺序为姓氏,名字,姓名)


姓名

Patil Rahul Ajay

Gupta Anil Ramesh

Kulkarni Jyoti Shankar

Sahu Vishesh Ranjit

我想得到像这样的结果


手机号码|名称

987654323 | Rahul Ajay Patil

987654543 | Vishesh Ranjit Sahu

请帮助。

1 个答案:

答案 0 :(得分:0)

也许不是最佳解决方案,但它有效,我希望这是你试图实现的目标:

SELECT * FROM tab1 t1 WHERE EXISTS (
  SELECT * FROM tab2 t2 
  WHERE t2.Name = 
  CONCAT(
    SUBSTRING_INDEX(t1.Name, ' ', -1),
    ' ', 
    SUBSTRING_INDEX(t1.Name, ' ', 2)
  )
);

SQL小提琴: http://sqlfiddle.com/#!2/15a71/29