注册 登录
编程论坛 SQL Server论坛

各位帮帮忙,可以把两个语句合在一起查询得结果吗

billhwx 发布于 2013-09-13 10:35, 728 次点击
SELECT 编号, 名称, 规格, 单位, 五笔码, 拼音码, 收费标准, 收费类型
FROM yp
WHERE yp.编号 LIKE '%1%'
UNION
SELECT 编号, 名称, 规格, 单位, 五笔码, 拼音码, 收费标准, 收费类型
FROM sfxm
WHERE sfxm.编号 LIKE '%1%'
UNION
SELECT 编号, 名称, 规格, 单位, 五笔码, 拼音码, 收费标准, 收费类型
FROM mz_mb_tczb
WHERE mz_mb_tczb.编号 LIKE '%1%'


这是一个语句


SELECT yp.*, kc_yfjcb.库存
FROM yp INNER JOIN
      kc_yfjcb ON yp.编号 = kc_yfjcb.药品编码
WHERE yp.编号 LIKE '%1%'

这是第二个语句,可以合起来吗
8 回复
#2
3037709572013-09-13 13:20
请将yp和kc_yfjcb表的字段给出,然后才能考虑能不能合起来写的。
#3
billhwx2013-09-13 13:50
yp           表字段为:        编号, 名称, 规格, 单位, 五笔码, 拼音码, 收费标准, 收费类型
sfxm         表字段为:        编号, 名称, 规格, 单位, 五笔码, 拼音码, 收费标准, 收费类型
mz_mb_tczb   表字段为:        编号, 名称, 规格, 单位, 五笔码, 拼音码, 收费标准, 收费类型

kc_yfjcb表字段为:   药品编码,药品名称,规格,单位,单价,库存,类型,药房编号

我现在需要的是把yp,sfxm,mz_mb_tczb的数据合在一起显示,这个已经OK了,现在想合在一起显示的时候收费类型 liki '%药%' 的时候关联 kc_yfjcb的库存,
yp的编号与kc_yfjcb的药品编码数据一样
#4
3037709572013-09-13 13:57
试试这个sql:
select t.*, kc_yfjcb.库存 from
(
    SELECT 编号, 名称, 规格, 单位, 五笔码, 拼音码, 收费标准, 收费类型
    FROM yp
    WHERE yp.编号 LIKE '%1%'

    UNION

    SELECT 编号, 名称, 规格, 单位, 五笔码, 拼音码, 收费标准, 收费类型
    FROM sfxm
    WHERE sfxm.编号 LIKE '%1%'

    UNION

    SELECT 编号, 名称, 规格, 单位, 五笔码, 拼音码, 收费标准, 收费类型
    FROM mz_mb_tczb
    WHERE mz_mb_tczb.编号 LIKE '%1%'

) as t INNER JOIN kc_yfjcb ON t.编号 = kc_yfjcb.药品编码
WHERE t.编号 LIKE '%1%' order by t.编号
#5
3037709572013-09-13 14:08
select t.*, kc_yfjcb.库存 from
(
    SELECT 编号, 名称, 规格, 单位, 五笔码, 拼音码, 收费标准, 收费类型
    FROM yp
    WHERE yp.编号 LIKE '%1%'

    UNION

    SELECT 编号, 名称, 规格, 单位, 五笔码, 拼音码, 收费标准, 收费类型
    FROM sfxm
    WHERE sfxm.编号 LIKE '%1%'

    UNION

    SELECT 编号, 名称, 规格, 单位, 五笔码, 拼音码, 收费标准, 收费类型
    FROM mz_mb_tczb
    WHERE mz_mb_tczb.编号 LIKE '%1%'

) as t INNER JOIN kc_yfjcb ON t.编号 = kc_yfjcb.药品编码
WHERE 收费类型 like '%药%' order by t.编号
#6
billhwx2013-09-13 15:37
不行,你上面的语句只显示了YP里面的内容,并关联了kc_yfjcb的库存数据,但SFXM和mz_mb_tczb里面的内容没有显示得出来
#7
jxyga1112013-09-14 17:14
你先把UNION与JOIN的区别确定先
#8
cai4105795172013-09-15 20:24
用在联表  右联表的方法可以我实现
#9
tlliqi2013-09-17 06:28
你的语句就可以
1