我正在嘗試使用現有表中的值創建臨時表。我想臨時表有一個額外的列(電話),永久表中不存在。此列中的所有值都應爲NULL。不知道怎麼做,但這裏是我現有的查詢:將NULL值添加到臨時表
SELECT DISTINCT UserName, FirstName, LastName INTO ##TempTable
FROM (
SELECT DISTINCT Username, FirstName, LastName
FROM PermanentTable
) data
我正在嘗試使用現有表中的值創建臨時表。我想臨時表有一個額外的列(電話),永久表中不存在。此列中的所有值都應爲NULL。不知道怎麼做,但這裏是我現有的查詢:將NULL值添加到臨時表
SELECT DISTINCT UserName, FirstName, LastName INTO ##TempTable
FROM (
SELECT DISTINCT Username, FirstName, LastName
FROM PermanentTable
) data
你需要給列中的值,BU T優並不需要一個子查詢:
SELECT DISTINCT UserName, FirstName, LastName, NULL as phone
INTO ##TempTable
FROM PermanentTable;
在SQL Server中,爲NULL
默認類型是int。這是比較合理的存儲電話號碼作爲字符串,所以這也許是更好的:
SELECT DISTINCT UserName, FirstName, LastName,
CAST(NULL as VARCHAR(255)) as phone
INTO ##TempTable
FROM PermanentTable;
謝謝,這個作品完美! – PixelPaul
只想補充一點,你會插入到不是Temptable並在內部選擇列的名稱只是選擇NULL
像這樣
SELECT DISTINCT UserName, FirstName, LastName, Phone INTO ##TempTable
FROM (
SELECT DISTINCT Username, FirstName, LastName, NULL
FROM PermanentTable
) data
作爲
重寫查詢 -
CREATE TABLE ##TempTable(UserName datatype, FirstName datatype, LastName datatype,Phone datatype)
INSERT INTO INTO ##TempTable (UserName, FirstName, LastName,Phone)
SELECT DISTINCT UserName, FirstName, LastName,NULL
FROM (
SELECT DISTINCT Username, FirstName, LastName
FROM PermanentTable
) data
你不需要做任何事情,該值將始終爲空,如果你不指定的值列 – Oscar