两表查询问题请教

smile_99 2009-03-13 12:45:32
现有两张表product,storage,第一张为产品表,属性为id((主键),productName(产品名称),第二张表为产品库存表,属性为id(主键),productId(产品id),storageNum(库存数量)。假设现在第一张表中有100条数据,第二张表中记录了其中第一张表中50件产品的库存情况,其他50件产品的库存情况没有记录。
现在我想在GridView中显示所有产品的产品名称和库存数量,如果库存表中没有记录那么库存数量就显示为0或者“没有记录”等其他提示。问题是不能用“ select productName,storageNum from product,storage where storage.productId=product.id ",这样调出来库存表中没有记录的产品就调不出来,不知道该怎样实现呢?
...全文
95 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
CutBug 2009-03-13
  • 打赏
  • 举报
回复
select product.id,productName,isnull(storageNum,0) as storageNum from product
left join storage on product.id=storage.productId
CutBug 2009-03-13
  • 打赏
  • 举报
回复
select id,productName,isnull(storageNum,0) as storageNum from product
left join storage on product.id=storage.productId
wenblue7 2009-03-13
  • 打赏
  • 举报
回复
用左边链接查询啊
select product.productName,storage.storageNum from product left join storage on storage.productId=product.id
huzi01245 2009-03-13
  • 打赏
  • 举报
回复
用左边链接查询啊
select product.productName,storage.storageNum from product left join storage on storage.productId=product.id
homesos 2009-03-13
  • 打赏
  • 举报
回复
需要用表连接进行查询,LZ都给出例子了。
在不知道的时候,可以用视图,点选一下要显示的字段,在某些字段上写上条件就会生成SQL语句。
hhxxcj 2009-03-13
  • 打赏
  • 举报
回复
用这个就行:
select product.id,productName,isnull(storageNum,0) as storageNum from product
left join storage on product.id=storage.productId
zzxap 2009-03-13
  • 打赏
  • 举报
回复
select product.id,productName,isnull(storageNum,0) as storageNum from product
left join storage on product.id=storage.productId
wuyq11 2009-03-13
  • 打赏
  • 举报
回复
select b.id,productName,(case storageNum when isnull(storageNum,0)>0 then storageNum else 0) as storageNum from storage a left product b on a.productId=b.id
阿非 2009-03-13
  • 打赏
  • 举报
回复

declare @P table([pid] int, [pName] varchar(50))
declare @S table([pid] int, [sNum] int)
insert into @P values(1,'A')
insert into @P values(2,'B')
insert into @P values(3,'C')
insert into @P values(4,'D')
insert into @P values(5,'E')
insert into @P values(6,'F')
insert into @S values(1,10)
insert into @S values(2,8)
insert into @S values(5,1)

select * from @p
select * from @s

select p.[pid],p.[pName],isnull(s.[sNum],0) from @p p left join @s s on p.[pid]=s.[pid]

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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