簡體   English   中英

在 SQL Server Management Studio 中創建臨時表時遇到問題

[英]Trouble creating temp table in SQL Server Management Studio

我正在嘗試從 2 個表的連接中創建一個表,以便在數據之間切換。 但是我在“(”上遇到語法錯誤,如果我刪除 I 並且只執行“AS”,我會在 select 命令上收到語法錯誤。

CREATE TABLE Neigh 
AS 
    (SELECT *
     FROM COR_NEIGBORHOODS_N1 A1 
     LEFT JOIN NEIG_RAMAT_GAN_SHCONOT B1 ON A1.Settle_Name = B1.City_Name 
                                         AND A1.NEIGHBORHOODs_AREA_FNAME = B1.name
     WHERE B1.City_Name IS Null AND A1.Settle_Code = 8600)

有誰知道是什么問題?

SQL 服務器不支持create table as . 相反,它使用語法into 所以:

select *
into Neigh
from COR_NEIGBORHOODS_N1 n left join
     NEIG_RAMAT_GAN_SHCONOT nrg
     on n.Settle_Name = nrg.City_Name and
        n.NEIGHBORHOODs_AREA_FNAME = nrg.name
WHERE nrg.City_Name IS Null and n.Settle_Code = 8600;

使用select *很危險——因為列名可能重復。 我建議您專門列出這些列。

請注意,我還將表別名從無意義的字母更改為表名的縮寫。

CREATE TABLE Neigh AS (SELECT Column_name AS Column1,Column_name AS Column2 FROM COR_NEIGBORHOODS_N1 CN LEFT JOIN NEIG_RAMAT_GAN_SHCONOT NRG ON CN.Settle_Name = NRG.City_Name AND CN.NEIGHBORHOODs_AREA_FNAME = NRG.name WHERE NRG.City_Name IS Null AND CN.Settle_Code = 8600)

請使用“AS”作為我在上述查詢中使用的相同表的列別名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM