-1

多くのテーブルがあり、そのうちのいくつかには列「項目」があります。簡単なクエリを作成したいので、必要な番号のアイテムを見つけることができるテーブルを確認できます。変数に関するいくつかの情報を読み、これを作成しました:

SET @Item_id =(there i put number) ;
select * from table1 where item=@Item_id;
select * from table2 where item=@Item_id;
select * from table3 where item=@Item_id;
select * ...(other tables)

問題は、DBMS が各テーブルの結果を含むタブを表示し、検索が成功したかどうかは関係ありません。結果のみのテーブルを表示するようにコードを更新するにはどうすればよいですか?

SET @Item_id = 29434;
SELECT
(select distinct item from creature_loot_template where item=@Item_id)  as table1
(select distinct item from gameobject_loot_template  where item=@Item_id) as table2
(select distinct item from item_loot_template where item=@Item_id) as table3
4

2 に答える 2

0

これはあなたが望んでいることとは異なるかもしれませんが、このような例では、通常、union オプションを使用して、すべてのクエリの結果を 1 つのテーブルにダンプします。どのクエリまたはソース テーブルからのものかを示すために、文字列定数を使用して偽の列を作成します。

SET @Item_id =(there i put number) ;
select 'table1', * from table1 where item=@Item_id union
select 'table2', * from table2 where item=@Item_id union
select 'table3', * from table3 where item=@Item_id;
于 2013-10-15T01:06:59.537 に答える
0

次のようなものを試すことができます:

SET @Item_id =(the Id you want to check) ;
SELECT
(select distinct item from table1 where item=@Item_id) as table1
(select distinct item from table2 where item=@Item_id) as table2
(select distinct item from table3 where item=@Item_id) as table3
...

そうすれば、次のような入力が必要です。

  • テーブル1 テーブル2 テーブル3
  • null null 項目

したがって、どのテーブルでアイテムを見つけたかがわかります。

于 2013-10-16T13:31:41.333 に答える