4个表上的db2 sql查询未运行?(花费太长时间?)

z5btuh9x  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(134)

我有4个表,其列如下表1所示:具有以下列的零件|PID控制器|编码|产品名称|中间标识|
表2:MAN,包含以下各列|中间标识|M代码|主名称|有效|
表3:LVL,以下列。|PID控制器|数量|
表4:AVAIL,以下列|中间标识|可移动|
我希望查询输出的格式为<PCODE>,<MCODE>,<QUANTITY>,<MNAME>,所以我尝试了以下sql:

select 
    part.pcode,
    man.mcode,
    lvl.quantity,
    man.mname
    from man
    inner join avail on man.mid = avail.mid
    inner join part on man.mid = avail.mid
    inner join lvl on part.pid = lvl.pid 
    where PNAME like '%phyll%'
        and MAVAILABLE = 'YES'

然而,当我执行它需要永远,我结束了终止,而且表的最大行数是500。有什么地方我犯了错误?
编辑:新问题:使用WHERE子句(仅使用此语句时,where PNAME like '%phyll%'可减少执行时间并有效,但是添加and MAVAILABLE = 'YES'以筛选包含单词YES的MAVAILABLE行将产生0个结果,但列中有许多结果为YES。此处是否有错误?MAVAILABLE列仅包含YES或NO字符串

56lgkhnf

56lgkhnf1#

尝试

select 
   part.pcode,
   man.mcode,
   lvl.quantity,
   man.mname
from man
inner join avail on man.mid = avail.mid
inner join part  on man.mid = part.mid     -- I made a change here
inner join lvl   on part.pid = lvl.pid 
where PNAME like '%phyll%'
    and MAVAILABLE = 'YES'

相关问题