parent he fresh是什么意思

runway1118 2008-05-20 05:20:01
SELECT PARENT.containername,
customer.customername,
customer.description,
FRESH.customerlotnumber,
PARENT.qty,
PARENT.targetdevice,
con.containername as SubLot,
con.qty as SubQty,
con.customerlotnumber as SubCustLot,
con.datecode as SubDateCode,
tap.qtyperreel,
FRESH.containername as FreshLot,
product.customerspecificinfo2 as COO,
con.customerorder,
con.custmotherwo,
pac.packagetypename,
smd.shipmentdestinationname,
dim.dimensionname,
lea.leadcountname,
pac.packagetypename || '-' || dim.dimensionname || '-' ||
lea.leadcountname as PDL
FROM insitedev.container con,
insitedev.container PARENT,
insitedev.customer customer,
insitedev.container FRESH,
insitedev.product product,
insitedev.tapenreelclass tap,
insitedev.packagetype pac,
insitedev.shipmentdestination smd,
insitedev.dimension dim,
insitedev.leadcount lea
WHERE ((con.parentcontainerid = PARENT.containerid) AND
(PARENT.customerid = customer.customerid) AND
(PARENT.freshlotid = FRESH.containerid) AND
(PARENT.productid = product.productid) AND
(product.tapenreelclassid = tap.tapenreelid) AND
(product.packagetypeid = pac.packagetypeid) and
(product.dimensionid = dim.dimensionid) AND
(product.leadcountid = lea.leadcountid) and
(fresh.shipmentdestinationid = smd.shipmentdestinationid) AND
(PARENT.ContainerName like
'TR7130017'))
ORDER BY con.qty ASC

其中为什么要用PARENT 和 FRESH,这两个函数有什么用,能详细讲解下么?
表的别名我知道
...全文
196 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hebo2005 2008-05-20
  • 打赏
  • 举报
回复
像这句(con.parentcontainerid = PARENT.containerid)
表示要找这张表里,这两个字段相同的纪录
如果你直接
from insitedev.container
where
parentcontainerid=.containerid
这样结果只是找出同一行纪录中这两个字段相同的
比如你的纪录是这样
parentcontainerid containerid
1 2
2 1
你如果用 
select *
from insitedev.container
where
parentcontainerid=containerid
出来结果是0 row


select a.parentcontainerid, b.containerid
from insitedev.container a,
insitedev.container b
where
a.parentcontainerid=b.containerid

出来结果是2row

parentcontainerid containerid
1 1
2 2


hebo2005 2008-05-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 runway1118 的回复:]
表的别名我知道的啊,那为什么要这么写
FROM insitedev.container con,
insitedev.container PARENT,
insitedev.container FRESH
这几张表不一样?
[/Quote]
说明要关联几次啊,所以要起不同的别名啊
像我们有个数据字典表
里面有许多业务状态字的解释,
如果一个表里只有一个业务状态字,没问题,直接两张表关联就行了
如果有几个呢,你怎么关联
比如我们有数据字典表
code表
code code_cd code_name
order_cd 10 下单
order_cd 20 付款
order_cd 30 出库
dely_cd 10 收货
dely_Cd 20 送货
dely_cd 30 完成

订单表
order 表
结构
order_id order_cd dely_cd

请问你怎么查一个订单的这两个状态?
语句就要这样写

select a.order_id,b.code_name order_stat,b.code_name dely_stat
from order a,code b,code c
where a.order_cd=b.code_cd
and a.dely_cd=b.code_cd
and b.order_cd='order_cd'
and c.order_cd='dely_cd'

也就是说在同一张表,要取不同内容,并且取的条件也不一样时,就会出现多次关联同一张表,就要用不同的别名了
hxmsammi 2008-05-20
  • 打赏
  • 举报
回复
晕,这个问题问的哦,汗啊。。。
runway1118 2008-05-20
  • 打赏
  • 举报
回复
表的别名我知道的啊,那为什么要这么写
FROM insitedev.container con,
insitedev.container PARENT,
insitedev.container FRESH
这几张表不一样?
zhang555 2008-05-20
  • 打赏
  • 举报
回复
表的别名起到表的作用,相当于人的小名一样
hebo2005 2008-05-20
  • 打赏
  • 举报
回复
汗,那个不是函数,是表的别名

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧