[英]How to fetch user defined variable(@sql) of pivot query to resultset Of java
從查詢中,我不知道如何檢索Java結果集中的值。 我想為用戶顯示出勤報告。
BEGIN
SET SESSION group_concat_max_len = 1000000000;
SET @sql = NULL ;
SELECT
GROUP_CONCAT(
DISTINCT CONCAT(
'max(CASE WHEN attendance.date = '',
DATE_FORMAT(DATE, '%Y-%m-%d'),
'' THEN coalesce(p.present, '') END) AS `',
DATE_FORMAT(DATE, '%Y-%m-%d'),
'`'
)
) INTO @sql
FROM
calendar
WHERE DATE >= '2015-01-01'
AND DATE <= '2015-01-31' ;
SET @sql = CONCAT(
'SELECT attendance.present,attendance.user_id, ', @sql,'
from
(
select c.date, a.user_id,a.present
from calendar c
cross join attendance a
) attendance
left join attendance p
on attendance.user_id= p.user_id
and attendance.date = p.attendance_date
where attendance.date>='2015-01-01'
and attendance.date <= '2015-01-31'
group by attendance.user_id'
) ;
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
此過程我在Java代碼中調用了,現在我想檢索值以顯示給用戶
String sp_query = "CALL AttendanceTrying()";
try {
connection = DBUtil.getInstance().getConnection();
callableStatement = connection.prepareStatement(sp_query);
resultSet = callableStatement.executeQuery();
while(resultSet.next()) {
Attendance attendance = new Attendance();
/*here I don't know how to retrieve the values of procedure*/
}
分別調用您的輸出的resultset.getXXX()方法。 即)您期望三行數據類型為int,string,sting然后通過resultset調用結果集。getInt(1)->給出整數值,resultset.getString(2)->給出字符串值,resultset .getString(3)->給出字符串值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.