我连接到PostgreSQL
数据库,并希望从三个表中获取数据。
这是我的方法:
public IEnumerable<T> GetResults<T>()
{
IEnumerable<T> items = new List<T>();
using (NpgsqlConnection conn =
new NpgsqlConnection(_configurationRoot.GetConnectionString("PGConnectionResultDb")))
{
try
{
conn.Open();
items = conn.Query<T>(@"select a.id,
a.parent_id,
a.results,
a.status,
a.errormessage,
a.tablename,
b.test_type,
c.name,
c.start_date,
c.end_date
from a
join b
on a.parent_id = b.id
join c
on c.id = b.parent_id").ToList();
Console.WriteLine(items);
}
catch (Exception e)
{
}
finally
{
conn.Dispose();
conn.Close();
}
return items;
}
当我在DBeaver
中以sql命令执行查询时,查询效果很好,但是我的方法从表b和c 返回NULL
值。它只为表a
放入值,而不联接其他表。为什么查询不正确不能正常工作?
这些带下划线的值不在数据库中NULL