0

何と呼ばれているのかわからないので、簡単に説明します。

tableA2 つのテーブルがあるとしましょう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 です。

助けてください、ありがとう。

4

2 に答える 2

1
SELECT
    guild_data.guild_name
FROM CHAR_DATA0
inner join guild_data on guild_key = CONVERT(INT,cast(reverse(substring(char_data, 33, 4)) as BINARY(4)))
WHERE CONVERT(INT, substring(char_data, 261, 1))=0x00 ORDER BY level DESC
于 2012-07-22T21:08:05.833 に答える
0

「選択」と「結合」が必要です

  select b.text
  from tablea a 
  inner join tableb b on a.id = b.id
  where a.id = 105

ただし、これを機能させるには、両方のテーブルに「id」が必要です。

于 2012-07-22T21:09:27.260 に答える