SELECt t3.药品代码,
t2.ypmc,
t3.FYLB,
t1.FYLBMC,
t3.ZFBL
FROM MZSF005_new_ln t1,
药剂表 t2,
zfbl_yj_ln t3
WHERe ( t2.药品代码(+) = t3.药品代码) and
( t1.fylb (+) = t3.fylb)
union all
SELECt t3.ypdm,
t2.ypmc,
t3.FYLB,
t1.FYLBMC,
t3.ZFBL
FROM MZSF005_new_ln t1,
草药表 t2,
zfbl_yj_ln t3
WHERe ( t2.药品代码 (+) = t3.药品代码) and
( t1.fylb (+) = t3.fylb)
其中药剂表里和中草药表里的代码是不重复的,
t3表里准备存代码,我的目的是t3放入代码,然后查出数据,将别的数据再保存到t3。t3的代码现在存的都是药剂里面的代码
问题是,现在我查出来的数据里上面一半是对的,union all下面一半部分却是有药剂代码的。我预想的结果是,当t3里有草药代码的时候才出现下面的部分。在线等,请教教我吧
hemu,你好,这样是能解决一时的问题,不会出现下面的,可视,当我在t3表里放入草药表的代码时上面同样会出现这个问题。
倘若我把两个(+)都去掉的话,就不能显示出数据了
我找到问题的原因了,就是连接没有弄明白。谢谢各位,感谢第一个前辈的指点,谢谢大家
sql并联查询问题,高手来,好了再给双倍分
答案:3 悬赏:40
解决时间 2021-11-10 02:24
- 提问者网友:清茶柒夏
- 2021-11-09 07:30
最佳答案
- 二级知识专家网友:偏爱自由
- 2021-11-09 08:26
SELECt t3.药品代码,
t2.ypmc,
t3.FYLB,
t1.FYLBMC,
t3.ZFBL
FROM MZSF005_new_ln t1,
药剂表 t2,
zfbl_yj_ln t3
WHERe ( t2.药品代码(+) = t3.药品代码) and
( t1.fylb (+) = t3.fylb)
union all
SELECt t3.ypdm,
t2.ypmc,
t3.FYLB,
t1.FYLBMC,
t3.ZFBL
FROM MZSF005_new_ln t1,
草药表 t2,
zfbl_yj_ln t3
WHERe ( t2.药品代码 = t3.药品代码) and
( t1.fylb (+) = t3.fylb)
不太理解 可能就是left join 和inner join的问题 你试试吧
t2.ypmc,
t3.FYLB,
t1.FYLBMC,
t3.ZFBL
FROM MZSF005_new_ln t1,
药剂表 t2,
zfbl_yj_ln t3
WHERe ( t2.药品代码(+) = t3.药品代码) and
( t1.fylb (+) = t3.fylb)
union all
SELECt t3.ypdm,
t2.ypmc,
t3.FYLB,
t1.FYLBMC,
t3.ZFBL
FROM MZSF005_new_ln t1,
草药表 t2,
zfbl_yj_ln t3
WHERe ( t2.药品代码 = t3.药品代码) and
( t1.fylb (+) = t3.fylb)
不太理解 可能就是left join 和inner join的问题 你试试吧
全部回答
- 1楼网友:茫然不知崩溃
- 2021-11-09 11:04
是和t1t3连接有关系么,最后怎么解决的
- 2楼网友:萝莉姐姐鹿小北
- 2021-11-09 10:03
SELECT DISTINCT T.Ids
,CASE t.ids
WHEN '讲你的数据逻辑,别讲业务逻辑
不然听不懂你讲什么
最好列几条数据出来
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯