有三个表a,b,c,每个表中的一行代表一个物品,
每个表中有一个price 域,
现在要在每一个表中选一行,保证他们三个的price 是所有组合中最小的。SQL 语句怎么写?谢谢!~Chen

解决方案 »

  1.   

    组合是指相加的和吧?每一表最小的找出来,UNION All就可以了,。   SELECT price FROM a WHERE 1 ORDER BY price ASC LIMIT 1 ……
      

  2.   

    没看懂你的需求。 (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  3.   


    从目前所有的描述来看,只要查出每一表的最小price值,用union all连接起来就搞定了吧!
      

  4.   

    select a.* from a order by price desc limit 1
    union all
    select b.* from b order by price desc limit 1
    union all
    select c.* from c order by price desc limit 1
      

  5.   

    select a.* from a order by price limit 1
    union all
    select b.* from b order by price limit 1
    union all
    select c.* from c order by price limit 14楼多了个DESC。