语句值

buzhunmeiyouni 2017-11-15 03:01:09
sELECT a.FOfferItem,a.FUnit,a.FQty,a.FSupplier,a.FNOTE
,isnull(CASE when c.fname='001' then 'select (FPrice*FQty)as 001 from a' END,'') '001'
,isnull(case when c.fname='002' then 'select (FPrice*FQty)as 002 from a' end,'') '002'
,ISNULL(case when c.fname='张三' then 'select (FPrice*FQty) as 张三 from a' END,'') 张三
,isnull(case when c.fname='李四' then 'select (FPrice*FQty) as 李四 from a' end,'') 李四
FROM LGEntry_OfferSheet a
INNER JOIN LGBOS_OfferSheet b ON a.fid=b.FID
INNER JOIN t_emp c ON c.fitemid=b.FOfficeClerk
WHERE c.fname in (SELECT c.fname FROM t_emp)

运行结果还是语句


怎么把语句变成值啊
...全文
237 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
buzhunmeiyouni 2017-11-15
  • 打赏
  • 举报
回复
可以了,谢谢
吉普赛的歌 2017-11-15
  • 打赏
  • 举报
回复
SELECT a.FOfferItem,
       a.FUnit,
       a.FQty,
       a.FSupplier,
       a.FNOTE,
       ISNULL(
           CASE 
                WHEN c.fname = '001' THEN (SELECT TOP 1 CONVERT(VARCHAR(50),FPrice*FQty) as 001  from a)
           END,
           ''
       ) '001',
       ISNULL(
           CASE 
                WHEN c.fname = '002' THEN (select TOP 1 CONVERT(VARCHAR(50),FPrice*FQty) as 002 from a)
           END,
           ''
       ) '002',
       ISNULL(
           CASE 
                WHEN c.fname = '张三' THEN (select TOP 1 CONVERT(VARCHAR(50),FPrice*FQty)  as 张三 from a)
           END,
           ''
       )     张三,
       ISNULL(
           CASE 
                WHEN c.fname = '李四' THEN (select TOP 1 CONVERT(VARCHAR(50),FPrice*FQty)  as 李四 from a)
           END,
           ''
       )     李四
FROM   LGEntry_OfferSheet a
       INNER JOIN LGBOS_OfferSheet b
            ON  a.fid = b.FID
       INNER JOIN t_emp c
            ON  c.fitemid = b.FOfficeClerk
WHERE  c.fname IN (SELECT c.fname
                   FROM   t_emp)
buzhunmeiyouni 2017-11-15
  • 打赏
  • 举报
回复
引用 1 楼 yenange 的回复:
/************************************************************
 * Code formatted by SoftTree SQL Assistant ?v7.2.331
 * Time: 2017-11-15 15:04:44
 ************************************************************/

SELECT a.FOfferItem,
       a.FUnit,
       a.FQty,
       a.FSupplier,
       a.FNOTE,
       ISNULL(
           CASE 
                WHEN c.fname = '001' THEN (SELECT TOP 1 (FPrice*FQty)as 001  from a)
           END,
           ''
       ) '001',
       ISNULL(
           CASE 
                WHEN c.fname = '002' THEN (select TOP 1 (FPrice*FQty)as 002 from a)
           END,
           ''
       ) '002',
       ISNULL(
           CASE 
                WHEN c.fname = '张三' THEN (select TOP 1 (FPrice*FQty) as 张三 from a)
           END,
           ''
       )     张三,
       ISNULL(
           CASE 
                WHEN c.fname = '李四' THEN (select TOP 1 (FPrice*FQty) as 李四 from a)
           END,
           ''
       )     李四
FROM   LGEntry_OfferSheet a
       INNER JOIN LGBOS_OfferSheet b
            ON  a.fid = b.FID
       INNER JOIN t_emp c
            ON  c.fitemid = b.FOfficeClerk
WHERE  c.fname IN (SELECT c.fname
                   FROM   t_emp)
那条语句单独执行就行,一起执行就报 varchar 转换为 numeric 时出错
buzhunmeiyouni 2017-11-15
  • 打赏
  • 举报
回复


可以,但是报这个错误
吉普赛的歌 2017-11-15
  • 打赏
  • 举报
回复
/************************************************************
 * Code formatted by SoftTree SQL Assistant ?v7.2.331
 * Time: 2017-11-15 15:04:44
 ************************************************************/

SELECT a.FOfferItem,
       a.FUnit,
       a.FQty,
       a.FSupplier,
       a.FNOTE,
       ISNULL(
           CASE 
                WHEN c.fname = '001' THEN (SELECT TOP 1 (FPrice*FQty)as 001  from a)
           END,
           ''
       ) '001',
       ISNULL(
           CASE 
                WHEN c.fname = '002' THEN (select TOP 1 (FPrice*FQty)as 002 from a)
           END,
           ''
       ) '002',
       ISNULL(
           CASE 
                WHEN c.fname = '张三' THEN (select TOP 1 (FPrice*FQty) as 张三 from a)
           END,
           ''
       )     张三,
       ISNULL(
           CASE 
                WHEN c.fname = '李四' THEN (select TOP 1 (FPrice*FQty) as 李四 from a)
           END,
           ''
       )     李四
FROM   LGEntry_OfferSheet a
       INNER JOIN LGBOS_OfferSheet b
            ON  a.fid = b.FID
       INNER JOIN t_emp c
            ON  c.fitemid = b.FOfficeClerk
WHERE  c.fname IN (SELECT c.fname
                   FROM   t_emp)

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧