Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何找到一个表包含第二个表的哪些元素?_Sql_Sql Server_Database - Fatal编程技术网

Sql 如何找到一个表包含第二个表的哪些元素?

Sql 如何找到一个表包含第二个表的哪些元素?,sql,sql-server,database,Sql,Sql Server,Database,我有两个表,它们与第三个一对多关系相关。 例如,我有表A、表B和表C 表A和表B与表C的关系为多对一。所以在表C中有两个字段,比如tableAId和tableBId。因此,我需要找到一个列表,其中包括表C中与表a相关的所有元素,并将它们与表C中与表B相关的所有元素进行比较 我试着用除,减语句来做,但它不正确 以下是我尝试做的: SELECT tableAId FROM tableC except select tableBId FROM tableC 更新 这是我的三张表:我不是100

我有两个表,它们与第三个一对多关系相关。 例如,我有表A、表B和表C

表A和表B与表C的关系为多对一。所以在表C中有两个字段,比如tableAId和tableBId。因此,我需要找到一个列表,其中包括表C中与表a相关的所有元素,并将它们与表C中与表B相关的所有元素进行比较

我试着用除,减语句来做,但它不正确

以下是我尝试做的:

SELECT tableAId  FROM tableC 
except
select tableBId FROM tableC  
更新


这是我的三张表:

我不是100%地遵循你的要求,但我认为下面是你想要的

SELECT a.ID, b.ID
FROM TableA a
JOIN TableC c ON a.ID = c.TableCID
JOIN TableB b ON c.TableBID = b.ID

你试过什么了吗?另外,请以格式化表格的方式显示一些示例数据(每行缩进4个空格)。这将使您的问题更加透明。您是否能通过提供的信息理解问题?我想不是。因此,请添加@TimBiegeleisen wrote之类的信息。很可能您必须在三个表之间进行一些连接,然后可能使用
除了
。使用所有三个表的示例数据以及您期望的输出更新您的问题。然后任何熟悉SQL标记的人都可以给你一个查询。你还需要在头脑中弄清楚行和列之间的区别。它们在SQL中是截然不同的概念(与电子表格相比,在电子表格中它们是可互换的)。