使用WebMatrix / Razor从两个表中提取信息时使用INNER JOIN

时间:2013-03-16 12:37:08

标签: sql razor webmatrix

我已经编写了以下代码来从我的数据库中提取一些信息

@{
var db = Database.Open("StayInFlorida");
var propertyinfo = "SELECT * FROM PropertyInfo WHERE PropertyID='@0'";
var qpropertyinfo = db.QuerySingle(propertyinfo);
var ownerinfo = "SELECT FirstName, LastName FROM OwnerInfo WHERE OwnerID='2'";
var qownerinfo = db.QuerySingle(ownerinfo); 
}
<!DOCTYPE html>

<html>
<head>

</head>
<body>
@qpropertyinfo.PropertyName
@qownerinfo.FirstName
@qownerinfo.LastName
</body>
</html>

在两个表中都有一个名为&#39; OwnerID&#39;的列,我希望能够从PropertyInfo表中提取OwnerID,然后从OwnerID表中显示该所有者的FirstName和LastName。我该怎么做,我需要使用INNER JOIN语句吗?

我希望它是动态的,因此当我更改为其他属性时,所有者信息也会更改。

1 个答案:

答案 0 :(得分:2)

以下查询应该满足您的要求:

SELECT OwnerInfo.FirstName, OwnerInfo.LastName 
FROM OwnerInfo
INNER JOIN PropertyInfo on PropertyInfo.OwnerID = OwnerInfo.OwnerID
WHERE PropertyInfo.PropertyID='@0'

然后,您可以像在问题中一样将PropertyId作为参数传递。