2016-02-11 50 views
0

我試圖刪除多個數據/行表,但不允許我錯誤從 - > a,b,c,d,e <開始 - 表示「無效列」並且找不到什麼是我的錯......我在這裏的代碼:刪除多個表SQL

DELETE a.*,b.*,c.*,d.*,e.* FROM [CatMngSys].[Providers] a 
INNER JOIN [Security].[UsersProviders] b 
ON a.Id = b.ProviderId 
INNER JOIN [Security].[Users] c 
ON b.UserId = c.Id 
INNER JOIN [CatMngSys].[ProviderSubscriptions] d 
ON d.ProviderId = a.Id 
INNER JOIN [CatMngSys].[Subscriptions] e 
ON e.Id = d.SubscriptionId 
WHERE a.id = @Id 

,我已經嘗試了多種選擇:

DELETE FROM 
DELETE * FROM 
DELETE a.*,b.*,c.*,d.*,e.* 
+1

哪種RDBMS適用於?請添加一個標籤來指定您是使用'mysql','postgresql','sql-server','oracle'還是'db2' - 或者其他的東西。 –

回答

1
DROP TABLE table1,table2,table3 ... 
+0

嗯,我不想刪除表...只有每個表 –

+0

加入a-b-c-d的特定行,試過嗎? WHERE a.id = b.providerId AND b.userid = c.id .....而不是[email protected]。 – Hariboo

0
DELETE t1, t2 
FROM t1 
INNER JOIN t2 
INNER JOIN t3 
WHERE t1.id = t2.id AND t2.id = t3.id; 
+0

...對不起,我需要刪除多個表,而不是一個表 –

0

刪除列(* )從DELETE子句:

DELETE a, b, c, d, e 
FROM [CatMngSys].[Providers] a 
INNER JOIN [Security].[UsersProviders] b ON a.Id = b.ProviderId 
INNER JOIN [Security].[Users] c ON b.UserId = c.Id 
INNER JOIN [CatMngSys].[ProviderSubscriptions] d ON d.ProviderId = a.Id 
INNER JOIN [CatMngSys].[Subscriptions] e ON e.Id = d.SubscriptionId 
WHERE a.id = @Id 

這會在每個表ProvidersUsersProvidersUsersProviderSubscriptionsSubscriptions的刪除匹配的行。

+0

我試着用這個代碼,但仍然不能工作... –

+0

是SQL Server嗎?你看到什麼錯誤或不正確的答案。你能用數據創建兩個測試表並測試相同類型的查詢嗎? –