2011-08-17 21 views
1
select pb.id, 
    p.name, 
    pb.batchName, 
    pb.batchCode, 
    s.detail,pb.program_id, 
    pb.session_id, 
    si.typeDescp, 
    si.id 
from programBatch_info pb 
join program p on pb.program_id=p.id 
join session_info s on pb.session_id=s.id 
join semester_info si on si.id=pb.semInfo_id 

這裏第一列和最後一列的名字是'id',所以當我檢索這個查詢的值時,第一列對象和最後一列對象返回相同的值。但是當我改變'si.id'到'pb.semInfo_id'最後一列的名字是'semInfo_id',因此檢索到正確的值。我在休眠平臺上嘗試了這個本地查詢。 我在意識錯誤還是實際情況?設置從sql查詢到對象的值

回答

0

不知道這個問題,但試試這個:

select pb.id, 
    p.name, 
    pb.batchName, 
    pb.batchCode, 
    s.detail,pb.program_id, 
    pb.session_id, 
    si.typeDescp, 
    si.id as [si_id] 
from programBatch_info pb 
join program p on pb.program_id=p.id 
join session_info s on pb.session_id=s.id 
join semester_info si on si.id=pb.semInfo_id 

這是指定一個新的列名的語法。