select 
Use_No,
Use_Item,
Use_Count,
Use_Flag,
(select top 1 数据 from Use_Detail where use_item=use_info.use_item and use_info.Use_Flag='F') 
from Use_Info

解决方案 »

  1.   

    select 
    Use_No,
    (case when Use_Flag='F' then select use_item from Use_Detail where use_item=use_info.use_item else use_item end) ,
    (case when Use_Flag='F' then select use_count from Use_Detail where use_item=use_info.use_item else use_count end) ,
    Use_Flag
    from Use_Info
    但是这样如果子表中有多条记录的话,就只能出来一条,我想都出来,明白我的意思吗?
      

  2.   

    Select D.use_item,D.item_no,Count(*)
           From   Use_Info I,Use_Detail D
           Where  D.Use_No=I.Use_No and D.use_item=I.use_item 
           Group  By D.Use_No,D.use_item
      

  3.   

    Select D.use_item,D.item_no,Count(*)
           From   Use_Info I,Use_Detail D
           Where  D.Use_No=I.Use_No and D.use_item=I.use_item and I.Use_Flag='F'
           Group  By D.Use_No,D.use_item
      

  4.   

    select a.use_no,case when use_flag='F' then b.use_item end,
    case when use_flag='F' then b.use_count end,a.use_flag from use_info a join use_detail b on a.use_item=b.use_item
      

  5.   

    select a.use_no,b.use_item ,b.use_count,a.use_flag from use_info a join
    (select * from use_detail where use_item in (select use_item from use_info where use_flag='F')) b
     on a.use_item=b.use_item
      

  6.   

    这样写那么如果不等F的,Use_info就不出来了呀。我的意思是<>F,那么还是显示Use_info的,=F的就到字表中取。
      

  7.   

    select 
    a.use-no,
    case when i.item_flag='f' then p.item_no else a.item_no end item_no,
    case when i.item_flag='f' then p.item_no else a.item_no end item_number
    from use_info a 
    left join detail p on a.item_no=p.item_no