2014-12-02 45 views
0

我是SQL新手,想要使用内部连接比较两个表,然后使用结果与第三个表等进行比较。此外,第三个表格与前两个表格不同。SQL内部加入来比较结果

下面是用于比较两个表的SQL语句。

SELECT WORKLOAD_ITEM_ID wid 
FROM OUTPUT o 
INNER JOIN workload_item wi ON O.WORKLOAD_ITEM_ID = wi.WORKLOAD_ITEM_ID 

现在返回任何我想使用和做与不具有列WORKLOAD_ITEM_ID第三个表内连接。所以问题是如何保存和比较结果?

请帮忙!

+0

第三个表不必共享同一列_name_,它只需要一些列与其他两个表中的一个具有共同的值(或甚至是从表达式推导的值)。连接不是关于列名的,而是关于在表之间创建“真实”表达式的。 – 2014-12-02 18:28:48

+0

那么第三张桌子与前两张的关系是什么呢?你会如何使用前两个限制第三个?这就是加入关系。 – 2014-12-02 18:29:06

回答

0

您可以按照在临时表来保存记录

INSERT INTO #WORKLOAD_ITEM_TEMP 
SELECT WORKLOAD_ITEM_ID wid 
FROM OUTPUT o 
INNER JOIN workload_item wi ON O.WORKLOAD_ITEM_ID = wi.WORKLOAD_ITEM_ID 

然后用你的第三个表,利用上述#WORKLOAD_ITEM_TEMP表的连接。 现在你必须决定哪一列需要放入内部连接。在输出结果集和第三个表之间添加一个公共列,或者只使用交叉连接。

我认为你需要重新评估你的数据库结构并建立高效的表关系。