select bmb01,bmb02,bmb03,(select WMSYS.WM_CONCAT(bmt06) from ds01.bmt_file where bmt01=a.bmb01 and bmt03=a.bmb03)
from ds01.bmb_file a where bmb01='201511S2U000'
上述SQL语句是我在数据库中拼接出来的,输出的结果集是符合我的要求的。现在,想把这个语句应用到一个报表里,但那个自定义报表工具里只允许SQL语句有一个where,否则就造成传递的动态参数有问题。
FROM DS01.BMB_FILE A, DS01.BMT_FILE B
WHERE A.BMB01 = '201511S2U000'
AND B.BMT01 = A.BMB01
AND B.BMT03 = A.BMB03
GROUP BY BMB01, BMB02, BMB03;
回楼上这位,我试了下,你的代码不行。
可能是因为我没说清楚吧,不行的原因是由于bmb_file里的部分数据在bmt_file里是没有对应的bmt06数据的
我自己拼接的代码里是能够查出这部分数据,而你这的个就查不出这部分。
select bmb01,bmb02,bmb03,WMSYS.WM_CONCAT(bmt06)
from ds01.bmb_file a left join ds01.bmt_file b on b.bmt01=a.bmb01 and b.bmt03=a.bmb03
where a.bmb01='201511S2U000'
select a.bmb01,a.bmb02,a.bmb03,WMSYS.WM_CONCAT(b.bmt06)
from ds01.bmb_file a left join ds01.bmt_file b on b.bmt01=a.bmb01 and b.bmt03=a.bmb03
where a.bmb01='201511S2U000'
SELECT a.bmb01, a.bmb02, a.bmb03, wmsys.wm_concat (b.bmt06) bmt06
FROM ds01.bmb_file a, ds01.bmt_file b
WHERE b.bmt01(+) = a.bmb01 AND b.bmt03(+) = a.bmb03
AND a.bmb01 = '201511S2U000'
select * from test