表结构如下:ID主键 我要去旅游,假设手里有100元路费
如下表,从我家到A地要15元路费,从A地到B地要26元,以此类推
问题1:我这100元最多能溜达到哪呢?(单程只算去的费用)
问题2:如果要是返程费用也在这100元中出我最多能到哪个地方去玩呢?ID     地点    花费
1      A地      15
4      B地      26
5      C地      10
6      D地      30
8      E地      12
9      F地      54

解决方案 »

  1.   


    没有中间A——B,B——C等等这样的关系,100块钱,你只能去一个地方。 
    来回就是50块钱,你只能去一个地方了!
      

  2.   

    他就说让用一个SQL语句,那你要是会用游标写也发一下吧。我学习学习
      

  3.   

    create table tb
    (
    id int identity(1,1),
    didian  varchar(20),
    huafei  int
    )
    go
    insert into tb (didian,huafei)
    select 'A地',15 union
    select 'B地',26 union
    select 'C地',10 union
    select 'D地',30 union
    select 'E地',12 union
    select 'F地',54 union
    select 'A地',15 
    go
    declare @id int
    declare @didian varchar(20)
    declare @huafei int
    declare @jiage  int
    set @jiage=0
    DECLARE tb_test CURSOR FOR
    SELECT id,didian,huafei FROM tb;
    OPEN tb_test;
    FETCH NEXT FROM tb_test
    into @id,@didian,@huafei
    WHILE @@FETCH_STATUS = 0
       BEGIN
      --单程  
      set @jiage=@huafei+@jiage
      --往返
      --set @jiage=@huafei*2+@jiage
      if (@jiage>100)
    begin
    select * from tb where id=@id-1
    break
    end
          FETCH NEXT FROM tb_test into @id,@didian,@huafei;
       END;CLOSE tb_test;
    DEALLOCATE tb_test;drop table tb
      

  4.   

    楼上写的不错,学习了,不过题上说用一条SQL语句。
    会吗 帮帮忙。