2013-03-16 3 views
2

я написал следующий код, чтобы вытащить информацию из моей базы данныхINNER JOIN? потянув данные из 2 таблиц - 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> 

В обеих таблицах есть столбец с названием «OwnerId», и я хочу быть способный вытащить идентификатор OwnerID из таблицы PropertyInfo, а затем отобразить FirstName и LastName этого владельца из таблицы OwnerID. Как мне это сделать, нужно ли использовать инструкцию INNER JOIN?

Я хочу, чтобы он был динамическим, так что, когда я перехожу к другому свойству, изменяется и информация о владельце. Пожалуйста помоги!!!!

+1

Да, вы должны использовать внутреннее соединение. Если вы не знаете, как, я слышал хорошие вещи о книге, Teach Yourself SQL за 10 минут. Для переключения владельцев сделайте идентификатор владельца параметром запроса, как и для идентификатора свойства. –

ответ

2

Следующий запрос должен делать то, что вам требуется:

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

Вы можете затем передать в PropertyID в качестве параметра, как вы сделали в вашем вопросе.

+0

Большое спасибо за пенис, это сработало безупречное удовольствие. – Gavin5511

+0

И Дэн, спасибо за совет о книге, мне, возможно, придется инвестировать: p – Gavin5511