首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内部连接相同的值,但区别是另一个表在值前面有额外的单词。

内部连接相同的值,但区别是另一个表在值前面有额外的单词。
EN

Stack Overflow用户
提问于 2017-02-06 15:57:10
回答 2查看 104关注 0票数 0

正如我在标题中所说,或者我的问题有点让人困惑。在这里..。

因此,我想结合两个表使用内部连接(当然)与一些不同。这是我的表1,PK = steam_id

代码语言:javascript
复制
SELECT * FROM nmrihstats ORDER BY points DESC LIMIT 4;
+---------------------+----------------+--------+-------+--------+
| steam_id            | name           | points | kills | deaths |
+---------------------+----------------+--------+-------+--------+
| STEAM_0:1:88467338  | Alan14         |  50974 |  5438 |     12 |
| STEAM_0:0:95189481  | ? BlacKEaTeR ? |  35085 | 24047 |    316 |
| STEAM_0:1:79891668  | Lowell         |  34410 | 44076 |    993 |
| STEAM_0:1:170948255 | Rain           |  29780 | 30167 |    278 |
+---------------------+----------------+--------+-------+--------+
4 rows in set (0.01 sec)

表2,PK = authid

代码语言:javascript
复制
SELECT * FROM store_players ORDER BY credits DESC LIMIT 4;
+-----+-------------+---------------+---------+--------------+-------------------+
| id  | authid      | name          | credits | date_of_join | date_of_last_join |
+-----+-------------+---------------+---------+--------------+-------------------+
| 309 | 1:88467338  | Alan14        |   15543 |   1475580801 |        1482260232 |
| 368 | 1:79891668  | Lowell        |   10855 |   1475603908 |        1482253619 |
| 256 | 1:128211488 | Fuck[U]seLF   |   10422 |   1475570061 |        1482316480 |
| 428 | 1:74910707  | Mightybastard |    7137 |   1475672897 |        1482209608 |
+-----+-------------+---------------+---------+--------------+-------------------+
4 rows in set (0.00 sec)

现在,我如何使用内部连接,而无需删除"STEAM_0:“或添加它。也请解释一下

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-06 16:06:12

您可以使用join like操作符,例如:

代码语言:javascript
复制
SELECT n.*, sp.*
FROM nmrihstats n JOIN store_players sp ON n.steam_id LIKE CONCAT('%', sp.authid);

这是SQL Fiddle

另一种方法是使用MySQLString函数从steam_id中提取相关部分,但我认为这不是您想要的:

代码语言:javascript
复制
SELECT SUBSTR(steam_id, LOCATE('STEAM_0:', steam_id) + CHAR_LENGTH('STEAM_0:'))
FROM nmrihstats;
票数 0
EN

Stack Overflow用户

发布于 2017-02-06 16:04:40

不可能,您需要删除" STEAM_0:",与WHERE匹配,使用子字符串删除STEAM_0: from列等于其他表中的列,或者在T1中不使用“STEAM_0:”的新字段,即2列与内部联接匹配

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42071982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档