数据库sql技巧

[color=brown]1.sql语句当注意的[/color]

当我们写像下面这样的sql语句的时候看看当注意些什么

在 (select text from datadictionary where g.category=keyName and recycleFlag=0 and g.recycleFlag=0) cateKeyName和
(select text from datadictionary where g.brand=keyName and recycleFlag=0 and g.recycleFlag=0) brandKeyName中,
我们注意到了,只在此两个复杂查询中用到了datadictionary,那么我们在from中也一定要声明上datadictonary d这样的标记,
还有在where中一定要建立一下我们在两个复杂查询中所用到的两个表的关系(d.keyName=g.category),
否则多会出现Subquery return more than 1 rows这样的sql异常

select g.category,g.brand,g.sizeNum,e.quantity,e.cost,e.totalCost,e.comment,e.enterRepertoryID,
(select text from datadictionary where g.category=keyName and recycleFlag=0 and g.recycleFlag=0) cateKeyName,
(select text from datadictionary where g.brand=keyName and recycleFlag=0 and g.recycleFlag=0) brandKeyName
from enterrepertory e, goods g ,datadictionary d
where g.goodsID = e.goodsID and g.recycleFlag=0 and e.recycleFlag=0 and d.keyName=g.category
and e.enterRepertoryID=<%=request.getParameter("enterRepertoryID") %>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值