关联表以生成列表(sql)

s3fp2yjn  于 2021-06-21  发布在  Mysql
关注(0)|答案(3)|浏览(306)

我有3个不同列的表,除了一个叫做“filekey”。我需要一个查询,返回3个表的字段作为列表,我认为这里更容易看到
请耐心点,我是新来的

mspsb9vt

mspsb9vt1#

您可以通过简单地连接filekey值上的三个表来实现这一点。
sql内部连接有3个表?

w41d8nur

w41d8nur2#

可以这样使用并集:

Select FieldKey from TableA 
union 
Select FieldKey from TableB 
union
Select FieldKey from TableC

如果在不同的表中有相同的字段键,则使用union不会复制数据。
如果要复制数据,请使用union all,如下所示:

Select FieldKey from TableA 
union all
Select FieldKey from TableB 
union all
Select FieldKey from TableC

请查看下面的链接以更好地理解它https://www.w3schools.com/sql/sql_union.asp

lzfw57am

lzfw57am3#

最好的方法是使用并集运算符。但是如果您不想使用union,那么您可以将所有三个表数据插入到一个临时表中,然后使用select语句查看它。

DECLARE @TableA TABLE (ID INT);
DECLARE @TableB TABLE (ID INT);
DECLARE @TableC TABLE (ID INT);
DECLARE @Needed TABLE (ID INT);

INSERT INTO @TableA VALUES(53)
INSERT INTO @TableB VALUES(49)
INSERT INTO @TableC VALUES(34)

INSERT INTO @Needed (Id)
SELECT ID FROM @TableA

INSERT INTO @Needed (Id)
SELECT ID FROM @TableB

INSERT INTO @Needed (Id)
SELECT ID FROM @TableC

SELECT * FROM @Needed

相关问题