2

我是这种语言的新手,在理解查询时遇到了一些问题。

例如:

有2个数据库表:仓库,产品。所以每个仓库可以有多个产品,产品可以存放在不同的仓库中。

Query:
   for each warehouse,
       each product:
   display warehouse.name, product.prodcode.
end.

显示器会喜欢

warehousename   productcode
awarehouse       SKA-301

所以对于这个结果,这些列是否显示完全独立的结果,例如。SKA-301 产品可能不在意识中。或者它会在意识中展示产品?如果产品和仓库没有相关字段怎么办?

请帮我。谢谢你。

4

2 回答 2

4

在您展示的代码中,您将获得仓库每次迭代的每种产品。

要获得特定于特定仓库的产品,您需要将 WHERE 条件添加到联接的第二个子句。假设您有一个适合此目的的 product.warehouseName 字段......

for each warehouse no-lock,
  each product no-lock where product.warehouseName = warehouse.name:

  display
    warehouse.name
    product.prodcode
  .

end.

(如果 product.warehouseName 上没有索引,这将非常低效。)

于 2013-08-26T14:02:35.150 回答
0

您的查询是此扩展版本的精简版

for each warehouse:
   for each product:
      display warehouse.name, product.prodcode. 
   end.
end.

他们都实现了同样的目标。我建议,因为您开始扩展查询,一旦您了解了关系,然后回到紧凑的每个版本,每个版本

于 2013-08-26T15:31:19.657 回答