问一个SQL算法问题(0分)

  • 主题发起人 主题发起人 holyszq
  • 开始时间 开始时间
H

holyszq

Unregistered / Unconfirmed
GUEST, unregistred user!
有两个表SPxx 和 GYSxx
字段分别为:
SPxx:SPbm,SPmc,GYSdm................(假如有 2 数据)
GYSxx:GYSdm,GYSmc..............(假如有 1000 数据)
我的SQL语句是这个样的:
Select S.SPbm,S.SPmc,G.GYSmc From SPxx S Left Outer Join GYSxx G
On S.GYSdm=G.GYSdm
问题:查询出来的数据有42条这是为什么呢?
SQL语句是如何工作的呢?谢谢!!!
 
从SQL语句来看你是要建立一个View,把SPxx中GYSdm用GYSmc替换,是这个意思吗
Select S.SPbm,S.SPmc,G.GYSmc From SPxx S Where S.GYSdm=G.GYSdm
单必须S.GYSdm要是G.GYSdm中的,才能显示全部记录
 
应该只能两条记录,为什么会有42条记录呢?
 
Select S.SPbm,S.SPmc,G.GYSmc From SPxx S inner Join GYSxx G
On S.GYSdm=G.GYSdm
 
你得给个限制条件 where,不然查出来就是多
 
Left Outer Join 应该是它的问题
直接Join就可以了吧
 
接受答案了.
 
Select S.SPbm,S.SPmc,G.GYSmc From SPxx S right outer Join GYSxx G
On S.GYSdm=G.GYSdm
 
后退
顶部