我有两个表,Customers [CustomerID, Email]
和历史[CustomerID,BikeID,Checkout,StationIDout,Checkin,StationIDin]。
在给定客户的电子邮件的情况下,我想查询History
表,并获取包含该电子邮件的所有行({1}},其中返回了自行车(CustomerID
{1}}),按最近的WHERE Checkin IS NOT NULL
日期排序。
我尝试了以下查询,但收到错误:
"多部分标识符" test_email@test.org"无法受约束。"
test_email@test.org存在于数据库中。我看到其他帖子解释了它是如何错误地选择了拼写错误或某些列,但我没有看到我的查询中的任何一个。还有别的东西我不见了吗?
Checkin
答案 0 :(得分:4)
缺少字符串引号:
sql = string.Format(@"
SELECT BikeID, Checkout, StationIDout, Checkin, StationIDin
FROM History INNER JOIN
Customers ON Customers.CustomerID = History.CustomerID
AND Customers.Email = '{0}'
^ ^
WHERE Checkin IS NOT NULL
ORDER BY Checkin DESC", email);
但不是使用concat或format,而是使用参数