问题1,我用FTB插入一张宽1600的图片,显示在页面上时,图片把包含它的整个DIV层的宽度都撑大了,我想让图片自适应DIV的宽度,应该怎么做? 问题2,a这个变量是一个double型小数,其值可能是一个无限循环的小数,如0.66666666666666666666...,我想让它只显示小数点后四位,应该如何做呢? 问题3,有a,b两张表,两张表只有两个相同的列,a.id  a.click  b.id  b.click,我想用一条select语句,把两张表中的click数的前30项找出来,应该怎么做?我现在做到的只是能把所有的click数找出来. 
select * from a union select * from b order by click desc 如果用select top 30 * from a union select * from b order by click desc 的话,会把a表中的前30项与b表中的所有项都查询出来。而不是我想要的a,b两张表取并集后再top 30

解决方案 »

  1.   

    select top 30 * from a union select * from (select top 30 * from b order by click desc) A
      

  2.   

    <img width=100%>
    Math.Round 方法
    Math.Ceiling 方法
    Math.Floor 方法
    都可以
      

  3.   

    呵呵,Celling和Floor不行,适用于整数的Math.Round(0.66666666666666666666, 4)
      

  4.   

    问题1应该没法解决吧,FTB这个控件就这样了。问题2可以考虑用字符串截取方法,截取“。”号,可用split('.')截成两部份,前面一部份是整数,后面取前四位,然后再拼取可能还有更好的方法,偶抛块砖问题3 select top 30 * from a union select * from (select top 30 * from b order by click desc) A
      

  5.   

    试了下,不行,这样做应该是先从b取出前30项,再从a取出前30项,然后再并集显示。不是我想要的。能不能告诉我最后那个A的作用,我对于SQL语句很多地方是一知半解的。
      

  6.   

    double a = 0.66666666666666666666;
    string str = a.ToString("f4");
      

  7.   

    嗯,第二个问题解决了,个人觉得net_lover的方法会比较好些呵~
      

  8.   

    这个可以吗?
    select top 30 a.id,b.id from t_headface1 as a,t_headface as b
      

  9.   

    呵,楼上的这种不行的,我想达到的效果是,两个表的click并集成一列,然后按降序取前30项。并集成一列已经达到了,取前30项自己试了好多方法,老是不行。
      

  10.   

    creat view……
    select * from ……
    drop view……
      

  11.   

    SELECT TOP 30 * FROM ( SELECT UNION SELECT )
      

  12.   

    SELECT TOP 30 * FROM (select * from a UNION select * from b)这样还是不行,提示说有语法错误