何と呼ばれているのかわからないので、簡単に説明します。
tableA
2 つのテーブルがあるとしましょうtableB
。
- 数字のある列があります(
tableA
例:105) tableB
テキストを含む列があります(例:「これ」)
105は「これ」を意味します。
したがって、数値はA
テーブルに格納され、c はB
テーブル内で意味を持ちます。
番号を取得したいのですtableA
が、表示されると「This」と表示されます。
ロジック: A からの結果が 105 の場合、ID が 105 である B からの同等のテキストを表示します。表示: 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 です。
助けてください、ありがとう。