我在这里有这段代码,我有一个模棱两可的错误
if (Database.Query(ref reader, "SELECT fromID, toID, status, accountStatus, name FROM friends LEFT JOIN phpbb_users ON ( (user_id = toID) OR (user_id = fromID) ) AND (user_id != " + userID + ") WHERE (fromID=" + userID + " OR toID=" + userID + ")") == false)
{
return null;
}
任何帮助?
答案 0 :(得分:5)
由于两个表都包含列名accountStatus
,因此优化程序会对它来自哪个表accountStatus
感到困惑。要消除歧义错误,请在SELECT
子句中的列名称前添加一个表名。
要么
friends.accountStatus
或
phpbb_users.accountStatus
答案 1 :(得分:1)
在列名称
之前指定表名table.accountstatus
答案 2 :(得分:0)
这个有趣的消息可能告诉您,您的'accountStatus'列存在于您选择的多个表中,因此它不知道要从哪个表中选择。使用表名称在选择列表中添加列名称。
答案 3 :(得分:0)
两个表都包含一个具有相同名称的列。您应该帮助解析器识别您想要的表列。一种简单的方法是使用别名
"SELECT f.fromID, f.toID, f.status, u.accountStatus, u.name " +
"FROM friends f LEFT JOIN phpbb_users u ON .......