2014-11-08 89 views
0

我有這個疑問,我想從數據排名對我的數據庫插入一個參數到Where子句

set @urut:=0; 
set @rankhrg:=0; 
select @urut:[email protected]+1 as urut, a.id_tender, b.nama_tender, b.nomor_tender, b.tgl_close1 as tgl_close, 
(SELECT rankhrg 
from (select sum(tot_harga) as hrg_twr, id_rekanan, id_tender, @rankhrg:[email protected]+1 as rankhrg from tb_real_barang where id_tender = s.id_tender group by id_rekanan) as rank_harga 
left join tb_master_tender s on s.id_tender = b.id_tender 
where rank_harga.id_rekanan = a.id_rekanan 
order by rank_harga.hrg_twr asc) as ranking 
             from tb_real_tender a 
             left join tb_master_tender b on a.id_tender = b.id_tender 
             where a.id_rekanan = 1 
             order by convert(a.id_tender,unsigned) desc 

我想通過id_tender進入選擇內選擇時,我想rankhrg:

select sum(tot_harga) as hrg_twr, id_rekanan, id_tender, 
     @rankhrg:[email protected]+1 as rankhrg 
from tb_real_barang 
where id_tender = s.id_tender 
group by id_rekanan 

但我總是得到錯誤,說s.id_tender在where子句中是未知的。

有人可以指導我如何將參數傳遞到該插入? 謝謝:)

回答

1

您未加入該表tb_master_tender並且它不存在於外部查詢FROM子句中。所以,你需要像下面

select sum(trb.tot_harga) as hrg_twr, 
trb.id_rekanan, 
trb.id_tender, 
@rankhrg:[email protected]+1 as rankhrg 
from tb_real_barang trb 
left join tb_master_tender s on trb.id_tender = s.id_tender 
group by trb.id_rekanan 
+0

我想要做的是歌廳s.id_tender值作爲參數trb.id_tender和s.id_tender什麼內部查詢做了JOIN分開,它已經存在於外部查詢從'從'條款..這是不可能的呢? – ryuusoultaker 2014-11-08 03:31:20

+0

不,這就是我所說的,在外部查詢中您將加入該表。所以,不能像這樣引用它。您將不得不在內部查詢中單獨加入該表。 – Rahul 2014-11-08 03:34:39