繁体   English   中英

Mysql中的子查询:使用字符串连接加入两个表

[英]Sub-Query in Mysql: Join on two table with string concatenation

我对MySQL中的子查询有疑问。 问题是: -

有两张桌子

  1. userfirst
  2. userlast

描述userfirst

id firstname
1  Anurag
2  Abhishek
3  Prashant

描述userlast

src lastname
F/1 Jain
F/2 Singh
F/3 Sharma

现在我想输出如下: -

id firstname lastname
1  Anurag    Jain
2  Abhishek  Singh
3  Prashant  Sharma

我想只写一个查询: -

select 
  f.id,
  f.firstname, 
  (select l.lastname from userlast l where l.src = 'F/'+f.id) as name 
from userfirst f

以上查询是可能的,如果是/否请告诉正确的解决方案?

谢谢

尝试使用JOIN更高效:

SELECT
    f.id,
    f.firstname,
    l.lastname
FROM
    userfirst f
LEFT JOIN userlast l
    ON l.src = CONCAT('F/',f.id)

你可以在这里看到结果, Meherzad提供的Meherzad

在mysql中有许多用于字符串操作的函数,包括你可以使用的concat

mysql> SELECT CONCAT('My', 'S', 'QL');
        -> 'MySQL'

我想你可以使用select f.id,f.firstname,(从userlast l中选择l.lastname,其中l.src = concat('F /',f.id)作为userfirst f的名称

SELECT
    f.id,
    f.firstname,
    l.lastname
FROM
    userfirst f
INNER JOIN userlast l
    ON l.src = CONCAT('F/',f.id)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM