我不知道它叫什么,所以我只是试图解释。MSSQL数据解析
可以说有两个表,tableA
和tableB
。
- 在
tableA
存在具有若干列(例如105条) - 在
tableB
存在具有一个文本列(例如,“这”)
105手段'这个'。
所以一个数字存储在A
表中w/c在B
表中有含义。
我想获得tableA
号码,但是当它显示时它会显示'This'。
逻辑:如果从A的结果是105,则显示从乙等效文本其中id是105 显示器:THIS
SELECT TOP 1
CHAR_KEY AS charid,
USER_KEY AS userid,
CONVERT(VARCHAR,substring(char_data, 9, 16)) AS name,
CONVERT(INT,cast(reverse(substring(char_data, 7, 2)) as BINARY(2))) AS level,
CONVERT(INT,substring(char_data, 25, 1)) AS type,
CONVERT(INT,cast(reverse(substring(char_data, 263, 2)) as BINARY(2))) AS strength,
CONVERT(INT,cast(reverse(substring(char_data, 265, 2)) as BINARY(2))) AS wisdom,
CONVERT(INT,cast(reverse(substring(char_data, 267, 2)) as BINARY(2))) AS dexterity,
CONVERT(INT,cast(reverse(substring(char_data, 269, 2)) as BINARY(2))) AS charisma,
CONVERT(INT,cast(reverse(substring(char_data, 271, 2)) as BINARY(2))) AS intelligence,
CONVERT(INT,cast(reverse(substring(char_data, 273, 2)) as BINARY(2))) AS constitution,
CONVERT(INT,cast(reverse(substring(char_data, 309, 4)) as BINARY(4))) AS fame,
CONVERT(INT,cast(reverse(substring(char_data, 33, 4)) as BINARY(4))) AS guild,
CONVERT(INT, substring(char_data, 261, 1)) AS permission
FROM CHAR_DATA0 WHERE CONVERT(INT, substring(char_data, 261, 1))=0x00 ORDER BY level DESC
的查询来获取公会的名称。
SELECT
guild_name
FROM guild_data WHERE guild_key=guild
我想要得到的是guild
。从第一SELECT查询
实施例的guild
结果:518
在桌子上guild_data,列guild_name包含公会518 518的名称是guild_key。
请帮忙,谢谢。
你好,我编辑了我的第一篇文章来显示我的查询。谢谢。 – nambla 2012-07-22 21:12:39
@ user1543644根据我的理解修改为使用您的实际查询。 – Bert 2012-07-22 21:18:39
你好,它仍然显示与我上一个查询相同的输出。行会依然在数量上。如果缺少某些东西,我现在试图找出它。非常感谢。 – nambla 2012-07-22 21:21:23