0

我有两张调查表。表 1 包含使用以下字段发送的调查:SID、SalesRep、Location。表 2 包含使用以下字段返回的调查结果:RID、SID、QID、AID。

在表 1 中,SID 是唯一的,并且没有重复。在表 2 中,RID 是唯一的,代表每个回答的问题和答案。表 2 中的 SID 代表已回答问题的调查。因此,如果在调查中回答了 10 个问题,那么表 2 中将有 10 行具有相同的 SID。

我需要做的是找出已经发送了多少调查以及每个销售人员接受了多少调查。我可以使用两个查询分别查找信息:

  1. 从表 1 中选择 *
  2. SELECT DISTINCT Table2.SID, Table1.SalesRep,Table1.Location FROM Table2 INNER JOIN Table1 on Table1.SID = Table2.SID

我想做的是有一个查询会给我两个结果。我假设它需要某种 OUTER JOIN,因为 Table1 的结果会比 Table2 的结果多,因为我们没有得到 100% 的调查回报。但是,当我尝试运行 OUTER JOIN 时,它会锁定并且不返回任何内容。在这一点上,这些表不是很大。

有人可以指出我正确的方向吗?这甚至可能吗?

4

1 回答 1

2

您对结果的指定不够好,但据我所知,您可以试试这个希望它有效
SELECT * FROM Table1
WHERE SID IN (SELECT DISTINCT SID FROM Table2)

如果它不起作用,请指定好

于 2013-10-07T16:04:26.097 回答