好吧,首先让我明确一点:我在SQL和数据库方面非常弱(我的意思是除了几个简单的语句之外(,但事实证明我必须处理一些SQLite数据库,所以我想我需要你在这个查询上的帮助(对于比我更熟悉SQL的人来说,这个查询应该非常简单…(:
我有两张表:
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_NAME
、TOKEN_NAME
的表?
编辑:
期望结果:
TOKEN_NAME TOKENTYPE_NAME
tokA nameB
tokB nameB
tokC nameC
SELECT tt.TOKENTYPE_NAME, t.TOKEN_NAME
FROM TOKENS AS t
JOIN TOKENTYPES AS tt
ON tt.TOKENTYPE_ID = t.TOKENTYPE_ID
SELECT a.Token_Name,
b.TokenType_Name
FROM Tokens a
INNER JOIN TokenTypes b
ON a.TokenType_ID = b.TokenType_ID
- SQLFiddle演示
要进一步了解加入,请访问以下链接:
- SQL联接的可视化表示
结果
╔════════════╦════════════════╗
║ TOKEN_NAME ║ TOKENTYPE_NAME ║
╠════════════╬════════════════╣
║ tokA ║ nameB ║
║ tokB ║ nameB ║
║ tokC ║ nameC ║
╚════════════╩════════════════╝