2014-04-04 47 views
0

我不知道我在這裏做了什麼錯誤,因爲我將選擇傳遞給列並插入到具有2列的表中,所以我不明白錯誤在談論。我去了錯誤所在的行,這是代碼。提供的值的列名或數量與表定義錯誤不匹配

INSERT INTO #standardDefinitions1 
    SELECT COLUMN_NAME as Column_Name FROM #standardDefinitions as SD 
    SELECT CAST(ep.value as varchar(255)) AS Question FROM sys.extended_properties EP INNER JOIN sys.all_objects O ON ep.major_id = O.object_id INNER JOIN sys.schemas S on O.schema_id = S.schema_id INNER JOIN sys.columns AS c ON ep.major_id = c.object_id AND ep.minor_id = c.column_id 
    WHERE o.name = 'Council' 

CREATE TABLE #standardDefinitions1 
(
    Column_Name VARCHAR(50), 
    Question VARCHAR(255) 
) 

somone能幫我嗎?謝謝。

+0

我想你錯過了','你的價值觀之間? – Amber

+0

我試過這樣做,它不工作:( – Ben

+0

他們也應該在'(...)' – Amber

回答

0

你應該加入這兩種選擇這樣的

INSERT INTO #standardDefinitions1 
SELECT SD.COLUMN_NAME as Column_Name, CAST(ep.value as varchar(255)) AS Question 
FROM #standardDefinitions as SD 
    INNER JOIN sys.extended_properties EP 
    INNER JOIN sys.all_objects O ON ep.major_id = O.object_id 
    INNER JOIN sys.schemas S on O.schema_id = S.schema_id 
    INNER JOIN sys.columns AS c ON ep.major_id = c.object_id AND ep.minor_id = c.column_id 
WHERE o.name = 'Council' 

你可以做一個完整的加盟沒有條件的,這就是所謂的笛卡兒連接,它連接的表1中的每一行與表2中的每一行哪是什麼,我想你已經做到了。

相關問題