【发布时间】:2016-12-17 05:59:47
【问题描述】:
SQL 新手,但我希望能够通过引入适量的数据来优化我的查询。我正在对 CS Rep Name 和 WE 进行左连接,它们是两个表中都存在的两列。我发现如果我没有在 TECDR 表中引入 CS Rep Name 和 WE,查询会出错。有解决方法吗?因为是左连接,所以不需要冗余数据。
SELECT *
FROM Tish_Email_CSAT_Dump AS TECD
LEFT JOIN (SELECT CS_Rep_Name,
Team_Leader,
Operations_Manager,
Tenure,
WE,
FileName
FROM Tish_Email_CSAT_Dump_Roster) AS TECDR
ON TECD.CS_Rep_Name = TECDR.CS_Rep_Name
AND TECD.WE = TECDR.WE
【问题讨论】:
-
don't bring in CS Rep Name and WE in the TECDR table是什么意思?你真正想要的结果是什么? -
不要使用
select *。只选择您需要的列。 -
避免子查询,直接连接两个表。然后限制你真正需要的列替换select *的数据量
-
@vercelli - 派生表没有任何实际区别,除非可能更清楚。无论如何,它将根据基表解决。
标签: sql sql-server