我想从访问数据库中获取数据并在Datagridview
处显示数据。我的表是:
TABLE 1(AB) TABLE 2(CD) TABLE 3(EF) TABLE 4(GH)
------------- ----------------- ------------- -------------------
SID SName CID TID TID TName Tprice FID CID FCp FPID FID FCp Fprice
我正在使用C#检索数据的查询是:
OleDbCommand command1 = new OleDbCommand();
command1.Connection = connection;
command1.CommandText = "select T.TName, T.Tprice, P.FCp, P.Fprice from (([AB] S inner join [CD] T on S.TID = T.TID) (inner join [EF] C on S.CID = C.CID) inner join [GH] P on C.FID = P.FID where (S.SID = 2) ";
OleDbDataReader myreader = command1.ExecuteReader();
while (myreader.Read())
{
//DATA IS READ HERE
}
我得到的错误是:
JOIN表达式的语法错误
我想要
TName, Tprice, FCp(TABLE 4), Fprice
作为我的输出。我做对了还是有其他方法可以做到这一点。 最佳答案
在您的from
中,您有一个无括号的括号(第一个)。
除了固定括号外,如果您跳行,它也更易读:
command1.CommandText = @"select T.TName, T.Tprice, P.FCp, P.Fprice
from (([AB] S
inner join [CD] T on S.TID = T.TID)
inner join [EF] C on S.CID = C.CID)
inner join [GH] P on C.FID = P.FID
where S.SID = 2";
(Access requires parentheseses)
关于c# - 4个表的内部Join查询的语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45397679/