将一个表中的一列与另一个表中的一列进行比较?

时间:2019-08-06 21:00:52

标签: sql csv

我知道存在SQL连接,但这仅适用于一列相对于另一张表中的另一列。有什么办法可以对整个表格的一列做类似的事情?我试图弄清楚一个组织中存在的人员是否是某种雇员。问题是我在一个表的一列中列出了组织中的所有人员,而人员的分类分散在另一张表的各个列中。

2 个答案:

答案 0 :(得分:1)

尽管我将回答这个问题,但我建议您在SQL上做这些学童教程之一。这个问题是一个基本的问题,无论如何您可能都会对答案感到困惑...

从您的问题中,我会得出结论,表的开头可能建模不正确(标准化不够好)。但是,如果要将一列连接到另一个表中的所有列,则可以通过两种方式做到这一点:

SELECT COLUMN_1 FROM TABLE_1 T1 INNER JOIN TABLE_2 T2 ON T1.COLUMN_1 = T2.COLUMN_1
UNION ALL
SELECT COLUMN_1 FROM TABLE_1 T1 INNER JOIN TABLE_2 T2 ON T1.COLUMN_1 = T2.COLUMN_2
UNION ALL
... (just change the column name on each row)

(如果您使用宏和表2中的列名列表将其复制/粘贴到Excel中,则效果最好)。

2)更复杂:创建一个视图或子查询,在该视图或子查询中,您首先将表2中的所有列一一合并(希望它们都具有相同的类型!),然后加入到子查询中,该子查询现在仅用作表一栏。

3)开始透视表2。不要进入那个表,对于您当前的水平来说太复杂了。

答案 1 :(得分:0)

是的,基本上可以,如果您有一个表,然后要从那里过滤出一些名称,然后可以使用联接 第二部分是,您可以在where子句的帮助下添加多个条件。

您想要在多个条件下加入的ID和ID,那么您也可以使用and条件