Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.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 Can´;t在同一查询中选择两个不同别名_Sql_Sql Server - Fatal编程技术网

Sql Can´;t在同一查询中选择两个不同别名

Sql Can´;t在同一查询中选择两个不同别名,sql,sql-server,Sql,Sql Server,我想做如下选择: LEFT MERGE JOIN (SELECT * FROM ##TTC AS TT WHERE (TT.TAXCODE LIKE 'IEPSCUOTAP') TTIEPSCUOTA ON C1.TT_VOUCHER = TTIEPSCUOTA.VOUCHER AND C1.TT_TAXITEMGROUP = TTIEPSCUOTA.TAXITEMGROUP AND PRO.TTF_SOURCERECID = TTIEPSCUOTA.SOU

我想做如下选择:

LEFT MERGE JOIN 
    (SELECT * 
     FROM ##TTC AS TT 
     WHERE (TT.TAXCODE LIKE 'IEPSCUOTAP') TTIEPSCUOTA ON 
C1.TT_VOUCHER = TTIEPSCUOTA.VOUCHER 
AND C1.TT_TAXITEMGROUP = TTIEPSCUOTA.TAXITEMGROUP
AND PRO.TTF_SOURCERECID = TTIEPSCUOTA.SOURCERECID 
问题是我遇到了一个错误:

“TTIEPSCUOTA”附近的语法不正确


这是因为在SQL中,我们不能在WHERE子句之后使用别名,有人能告诉我如何重构这个查询以在WHERE子句之后使用
TTIEPSCUOTA
?关于

您有不平衡的括号:

LEFT MERGE JOIN 
(SELECT *
 FROM ##TTC TT
 WHERE TT.TAXCODE LIKE 'IEPSCUOTAP'
) TTIEPSCUOTA
ON C1.TT_VOUCHER = TTIEPSCUOTA.VOUCHER AND
   C1.TT_TAXITEMGROUP = TTIEPSCUOTA.TAXITEMGROUP AND
   PRO.TTF_SOURCERECID = TTIEPSCUOTA.SOURCERECID 
注意:除非您知道有必要,否则不应为
联接指定算法

编辑:

为什么要使用子查询呢?这更简单地写为:

LEFT MERGE JOIN 
##TTC TTIEPSCUOTA
ON C1.TT_VOUCHER = TTIEPSCUOTA.VOUCHER AND
   C1.TT_TAXITEMGROUP = TTIEPSCUOTA.TAXITEMGROUP AND
   PRO.TTF_SOURCERECID = TTIEPSCUOTA.SOURCERECID AND
   TT.TAXCODE LIKE 'IEPSCUOTAP'

我只是在“TTIEPSCUOTA”附近不断遇到同样的问题
语法不正确。
大概,这是一个更大的查询的一部分。不清楚为什么使用此snipper的格式良好的查询会产生问题。我们得到与第二个查询相同的结果?只是删除子查询?@Benny。有子查询和没有子查询的版本在功能上是相同的。