从多个表中选择(通过另一种选择通过)

问题描述 投票:0回答:2

问题更新。

我想才达到是让新表这是在qazxsw POI场qazxsw POI或qazxsw POI列表。 (新表前缀new_指)和所有表都描述字段。

表的定义:

empty

样本数据和说明:

null

就像你可以在我的样本数据会一直是我的榜样理想的输出注意:

description

我的实际解决方案的工作,但我需要手动添加表,我做了很多重复的。

create table topic (id int, description varchar(255));
create table comment (id int, description varchar(255));
create table author (id int, description varchar(255));
create table new_topic (id int, description varchar(255));
create table new_comment (id int, description varchar(255));
create table new_author (id int, description varchar(255));

我的解决方案的输出象下面这样:

insert into new_topic (id, description) values (1, null);
insert into new_topic (id, description) values (2, 'This is topic description');
insert into new_comment (id, description) values (1, null);
insert into new_comment (id, description) values (2, null);
insert into new_author (id, description) values (1, 'This is casual first author.');
insert into new_author (id, description) values (2, 'This is casual second author.');

我还创建了SELECT获取所有新表:

table_name:
new_topic
new_comment

这可能已经是我以前选择一个切入点,但我不知道如何连接这两个。

也是我的解决方案适用于qazxsw POI

sql sql-server sql-server-2014 dynamic-sql
2个回答
1
投票

哦,我想我明白你是什么之后。是的,这需要动态SQL。另外,请注意,您的查询找到一个名称的所有表像new_是不完全正确。下划线是通配符模式检查。因此,这将返回一个名为“新闻”表时,你不希望它。裹在方括号下划线来解决这个问题。这里是我会去这种类型的查询。在代码中的注释应该解释这一点。

select  distinct 'new_topic' as table_name
from new_topic where description is null
select distinct 'new_comment' as table_name
from new_comment where description is null
select  distinct 'new_author' as table_name
from new_author where description is null

-1
投票

你能不能只是做: -

table_name
new_topic
table_name
new_comment
table_name
© www.soinside.com 2019 - 2024. All rights reserved.