這非常嚴重的非規範化,但你可以做一個函數來獲得計數,然後使用該函數作爲計算列的一部分。請參閱:define a computed column reference another table
所以你想做的事:
CREATE FUNCTION dbo.CountShops (@Centre_Name VARCHAR[x])
RETURNS INT
AS BEGIN
DECLARE @ShopCount INT
SELECT @ShopCount = COUNT(*) FROM dbo.Shops WHERE Centre_Name = @Centre_Name
RETURN @ShopCount
END
然後調用這個作爲你列的一部分:
ALTER TABLE dbo.Shops
ADD Shop_Count AS dbo.CountShops(Centre_Name)
...這是假設Centre_Name是定義屬性你計算商店的數量。你算什麼商店?如果它只是在商店表計數行,你可以刪除該參數,並做到:
CREATE FUNCTION dbo.CountShops()
RETURNS INT
AS BEGIN
DECLARE @ShopCount INT
SELECT @ShopCount = COUNT(*) FROM dbo.Shops
RETURN @ShopCount
END
更多關於計算列here。
我覺得做這件事真的很糟糕,但我需要將centre_name和shop_count結合在一起,創建一個名爲list的名稱的html組合框,並將每個名稱與shop count作爲賦值。 – 2013-03-24 21:23:57
你可以編輯來清理你的模式嗎?我不確定我是否正確地遵循它。你的餐桌是什麼樣的? – antinescience 2013-03-24 21:38:40