0

我在这个 SQL 数据库中有以下表格(有些字段与这个问题无关):

图表

我有以下 LINQ 查询:

Dim trips = From tr In db.tbl_Trips _
                    Join ds In db.tbl_tripDeptStations On tr.trip_ID Equals ds.tds_ID _
                    Where ds.tbl_Station.stn_County = county _
                    And tr.trip_StartDate >= startDate _
                    And tr.trip_EndDate <= endDate _
                    Select tr.trip_Name, tr.trip_StartDate, tr.trip_EndDate, tr.trip_SmallImage, tr.tbl_TourOperator.tourOp_Name

startDateendDate并且county是我在上面的代码中声明的变量(未显示)。

我正在尝试根据可以在车站表中找到的县显示与某些出发站相关联的旅行。

但是,当我运行查询时,我没有得到任何结果,也没有错误消息。

我也有这个正常工作的 SQL 查询:

SELECT distinct t.trip_ID, t.trip_Name, t.trip_StartDate, toop.tourOp_Name
FROM tbl_Trip AS t
INNER JOIN 
    (SELECT tds.tds_trip
    FROM tbl_tripDeptStation AS tds
    INNER JOIN tbl_station AS s
    ON tds.tds_Stn = s.stn_ID
    WHERE s.stn_county = 'Greater London'
    ) AS ds
ON t.trip_ID = ds.tds_trip
INNER JOIN tbl_TourOperator AS toop ON t.tourOp_ID = toop.tourop_id
WHERE t.trip_StartDate >= @StartDate AND t.trip_EndDate <= @EndDate
ORDER BY t.trip_

任何人都可以阐明我可能会出错的地方吗?

4

1 回答 1

0

如果您使用的是实体框架,

var ds = from tds in tbl_tripdeptstation
join s in tbl_station on tds.tds_stn equals s.stn_id
where s.stn_country.equals("somecountry")
select new {tds.trip};

var result = (from t in tbl_trip
join ds2 in ds on t.trip_id equals ds2.trip
join toop in tbl_touroperator on t.tourop_id equals toop.tourop_id
where t.trip_start >= SomeDate AND t.trip_enddate <= EndDate
select new { t.trip_ID, t.trip_Name, t.trip_StartDate, toop.tourOp_Name}).Distinct().OrderBy(r => r.trip_);
于 2013-10-09T05:33:04.927 回答