我有一个表'a',带有id和时间戳。另一个表'b'有N个指向id的多行,每行有'type'和'其他一些数据'。如何编写LINQ查询将多行组合成一行?
我想LINQ查询产生单列与ID,时间戳,以及“其他一些数据”×N.像这样:
1 | 4671 | 46.5 | 56.5
,其中46.5是从“B”的一行,而56.5则来自另一行;两个都有相同的ID。
我在SQLite中有一个工作查询,但我是LINQ的新手。我不知道从哪里开始 - 我不认为这是一个JOIN。
SELECT
a.id as id,
a.seconds,
COALESCE(
(SELECT b.some_data FROM
b WHERE
b.id=a.id AND b.type=1), '') AS 'data_one',
COALESCE(
(SELECT b.some_data FROM
b WHERE
b.id=a.id AND b.type=2), '') AS 'data_two'
FROM a first
WHERE first.id=1
GROUP BY first.ID
这个答案帮了我更多,但都很有用。但是,我写的LINQ查询不适用于SQLite atm。不确定它是我的LINQ查询还是DBLinq驱动程序。 – ahnkle 2012-02-29 13:44:53