Webmatrix - 显示已加入的SQL表

时间:2017-01-28 04:27:30

标签: c# sql razor inner-join webmatrix

我在新网站上做了一个列表页面。

我的数据库中有2个表,位置 Location_Images ,每个表中都有一个公共字段 location_id

我想创建一个位置列表,其中每个位置的名称与其相关的图像一起显示。

这是我的代码:

var db = Database.Open("StarterSite");
var selectCommand = "SELECT * FROM Location";
var searchTerm = "";
var selectedPlace = db.Query(selectCommand, searchTerm);

var selectImagesCommand = "SELECT loc_image_url FROM Location_Images JOIN Location ON Location_Images.location_id=Location.location_id";
var selectImagesTerm = "";
var selectedPlacePics = db.Query(selectImagesCommand, selectImagesTerm);


@foreach(var row in selectedPlace)
{
    @row.location_name;

    foreach(var pic in selectedPlacePics)
    {
        <img src="img/locations/@pic.loc_image_url" alt=".">;
    };

 }

在此阶段,所有图像都会显示在每个位置。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以将单个查询用作:

SELECT Location .*, Location_Images.loc_image_url FROM Location leftjoin Location_Images ON Location_Images.location_id=Location.location_id";

如果你想要一些过滤器,那么你可以使用where子句。