警告:边缘案例继续......
假设您有客户和订单之间的联接
select * from Customers
join Orders on Customers.Id = Orders.CustomerId
这个sql是通过类库(dll)动态生成的,用户唯一的访问是星号'*'。所以他们可以放入字段名,表达式,子选择等等。
他们不知道表名是什么,因为它也是生成的。问题是在两个表上都存在重复的字段名称,但用户无法引用右表中的连接,因为它们无权访问表名或别名。 用户是否可以通过文本区域区分重复的字段名称?
其他背景资料: 这是一个ASP.NET Web应用程序,其中向用户显示一个文本区域,以便他们可以指定要在结果集中查看的字段。当用户按Enter键以向服务器提交回复时,类库(开发人员无法控制)将生成sql语句的每个部分,除了用户在该文本区域中输入的字段,然后将其集成到sql生成器中。