Sql 使用WebMatrix/Razor从两个表中提取信息时使用内部联接

Sql 使用WebMatrix/Razor从两个表中提取信息时使用内部联接,sql,razor,webmatrix,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

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

@{
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>
@{
var db=Database.Open(“stayinfrida”);
var propertyinfo=“从propertyinfo中选择*,其中PropertyID='@0';
var qpropertyinfo=db.QuerySingle(propertyinfo);
var ownerinfo=“从ownerinfo中选择FirstName,LastName,其中OwnerID='2';
var qownerinfo=db.QuerySingle(ownerinfo);
}
@qpropertyinfo.PropertyName
@qownerinfo.FirstName
@qownerinfo.LastName
在这两个表中,都有一个名为“OwnerID”的列,我希望能够从PropertyInfo表中提取OwnerID,然后从OwnerID表中显示该所有者的名字和姓氏。我如何做到这一点,我需要使用一个内部连接语句吗


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

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

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

然后,您可以像在问题中所做的那样,将PropertyId作为参数传入。

是的,您必须使用内部联接。如果你不知道怎么做,我听说过这本书的好东西,在10分钟内自学SQL。对于切换所有者,将所有者id设置为查询参数,就像您对属性id所做的那样。Dan,感谢您对本书的建议,我可能需要投资:p