【问题标题】:Using INNER JOIN when pulling info from two tables using WebMatrix/Razor使用 WebMatrix/Razor 从两个表中提取信息时使用 INNER JOIN
【发布时间】:2013-03-16 12:37:08
【问题描述】:

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

@{
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>

在这两个表中,都有一个名为“OwnerID”的列,我希望能够从 PropertyInfo 表中提取 OwnerID,然后从 OwnerID 表中显示该所有者的名字和姓氏。我该怎么做,我需要使用 INNER JOIN 语句吗?

我希望它是动态的,这样当我更改为不同的属性时,所有者信息也会发生变化。

【问题讨论】:

  • 是的,您必须使用内部联接。如果你不知道怎么做,我听说过这本书的好东西,在 10 分钟内自学 SQL。对于切换所有者,将所有者 ID 设为查询参数,就像您为属性 ID 所做的那样。

标签: sql razor webmatrix


【解决方案1】:

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

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

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

【讨论】:

  • 还有丹,感谢您对这本书的建议,我可能需要投资:p
猜你喜欢
  • 2017-09-16
  • 1970-01-01
  • 1970-01-01
  • 2018-10-29
  • 2015-05-16
  • 1970-01-01
  • 2023-04-07
  • 2016-03-31
  • 1970-01-01
相关资源
最近更新 更多