2014-11-08 56 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