2013-04-05 59 views
0

在我的數據源中,「屬性」鏈接到「租戶」,我想使用SQL查詢填充表,其中租戶對於該屬性不存在。換句話說,「那裏的財產是空置的。」SQL - Visual Studio - 如果相關數據爲空,填充表格

這是什麼SQL語句?

SELECT tblProperties.Type, tblProperties.PropertyID, tblProperties.Street, tblProperties.Unit, tblProperties.City, tblProperties.State, tblProperties.Zip, tblProperties.Description, tblTenant.TenantID 
FROM dbo.tblProperties 
JOIN tblTenant 
ON tblProperties.PropertyID = tblTenant.PropertyID 
WHERE tblTenant.TenantID = '' 
+0

您可以發佈一些代碼,所以我們可以更好地瞭解您的確切問題是什麼? – Melanie 2013-04-05 20:23:20

回答

0

屬性和租戶都是數據庫中的表嗎?

它們是通過交叉引用表還是...?看到表格結構會很有幫助。

假設是這樣的話,你只是想是這樣的:

SELECT * FROM Properties 
WHERE PropertyId NOT IN 
    (SELECT PropertyId FROM PropertyTenants) 
+0

我很欣賞你試圖幫助沒有任何架構或OP中的代碼,但你的查詢(除了語法不正確 - 從子查詢中選擇* *而不是* *)不考慮帳戶現在是否有租客*與是否曾經*曾經是租戶在一個物業中的關係。 – sasfrog 2013-04-05 20:54:30

+0

非常感謝! – 2013-04-05 20:57:30

+0

哦非常真實,請選擇propertyId -from-propertyTenants :) 是的,我不知道交叉參考表是否有歷史數據,如果有,如何查詢它。據推測,OP是。 – Cortright 2013-04-05 21:04:18

0

嘗試是這樣的: SELECT Property.PropertyID,Property.TenantID 來自物業LEFT JOIN租客對物業[TenantID] =租客。[TenantID] WHERE(((Tenant.TenantID)爲空));

這應該顯示哪些屬性沒有租戶,建議您先使用ID字段嘗試,然後在其他字段中添加以便簡化查詢並幫助進行故障排除。如果您有可能擁有多個在多個房產中擁有辦公室的租戶,那麼這是一個多對多關係,最好記錄在索引表中。