【问题标题】:Combine Table Results in a Relational Database在关系数据库中合并表结果
【发布时间】:2013-03-09 09:41:39
【问题描述】:

好的,首先让我明确一点:我非常不擅长 SQL 和数据库(我的意思是除了几个简单的语句),但事实证明我必须处理一些SQLite 数据库,所以我想我需要你对这个查询的帮助(对于比我更熟悉 SQL 的人来说,这应该是非常简单的......):

我有 2 张桌子:

TOKENTYPES

TOKENTYPE_ID  TOKENTYPE_NAME
1             nameA
2             nameB
3             nameC

TOKENS

TOKEN_ID TOKENTYPE_ID TOKEN_NAME
1        2            tokA
2        2            tokB
3        3            tokC

我所知道的:

  • 通过SELECT TOKENTYPE_ID,TOKEN_NAME FROM TOKENS,我可以从 TOKENS 中获取所有 (TOKENTYPE_ID,TOKEN_NAME) 对
  • 通过SELECT TOKENTYPE_NAME FROM TOKENTYPES WHERE TOKENTYPE_ID=2,我可以获得特定令牌ID 的Name

现在,问题来了:

如何我可以“组合”这两个查询并获得一个包含TOKENTYPE_NAMETOKEN_NAME 的表?


编辑:

期望的结果:

TOKEN_NAME TOKENTYPE_NAME

tokA       nameB
tokB       nameB
tokC       nameC

【问题讨论】:

  • 你能告诉你想要的结果吗? :)
  • @JW。刚刚更新了我的初始帖子。

标签: sql sqlite select join


【解决方案1】:
SELECT tt.TOKENTYPE_NAME, t.TOKEN_NAME 
FROM TOKENS AS t
JOIN TOKENTYPES AS tt
    ON tt.TOKENTYPE_ID = t.TOKENTYPE_ID

【讨论】:

  • 哇!那很快。 (花了我一点时间将示例表/字段名称“转换”为真实名称,但事实证明它效果很好。)非常感谢伙计! (我想我有一天会更多地使用 SQL...)
【解决方案2】:
SELECT  a.Token_Name,
        b.TokenType_Name
FROM    Tokens  a
        INNER JOIN TokenTypes b
            ON a.TokenType_ID = b.TokenType_ID

如需进一步了解联接,请访问以下链接:

结果

╔════════════╦════════════════╗
║ TOKEN_NAME ║ TOKENTYPE_NAME ║
╠════════════╬════════════════╣
║ tokA       ║ nameB          ║
║ tokB       ║ nameB          ║
║ tokC       ║ nameC          ║
╚════════════╩════════════════╝

【讨论】:

  • 非常感谢,伙计! (对于答案你也指出了我的参考)。 (为了公平起见,我必须接受@JodyT 的回答)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-31
  • 1970-01-01
  • 2012-07-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多