我有很多桌子,其中一些有列'项目'。我想轻松查询,这使我可以检查哪些表可以找到我想要的项目。 我已经阅读了一些关于变量的信息并做了这个:
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
答案 0 :(得分:0)
这可能无法完全满足您的需求,但对于这样的实例,我通常使用union选项将所有查询的结果转储到一个表中。为了显示它来自哪个查询或源表,我创建了一个带有字符串常量的假列。
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;
答案 1 :(得分: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
...
这样,您应该有这样的输入:
因此,您将知道在哪个表格中找到了您的商品。