當我運行這段代碼時,daysFinalarr顯示爲[undefined,undefined,undefined,undefined,......,undefined]; 現在,我不知道爲什麼會發生這種情況? mysql語句有什麼問題? 請指教!爲什麼isnt mysql SELECT語句在我使用UNION ALL nodejs時運行,mysql
我剛剛記錄了行,它似乎只是從第一個SELECT語句中取回值,並且在語句的UNION ALL部分之後沒有得到任何東西。似乎這就是這裏出了什麼問題。那麼,爲什麼第二個SELECT語句沒有工作? UNION ALL語句之後的部分?
var rowsNumber;
app.get('/final',function(req,res){
connection.query('SELECT name,designation,salary,wages_rate FROM employee_details UNION ALL SELECT uan,da,days_present,total_wages FROM attendance_details',function(err,rows){
if(err){
console.error('MySQL — Error connecting: ' + err.stack);
}else{
rowsNumber = rows.length;
var nameFinal;
var designationFinal;
var salaryFinal;
var wagesrateFinal;
var uanFinal;
var daFinal;
var daysFinal;
var totalwagesFinal;
var nameFinalarr = [];
var designationFinalarr =[];
var salaryFinalarr = [];
var wagesrateFinalarr =[];
var uanFinalarr =[];
var daFinalarr =[];
var daysFinalarr = [];
var totalwagesFinalarr =[];
for(var i=0;i<rowsNumber;i++){
nameFinalarr.push(rows[i].name);
designationFinalarr.push(rows[i].designation);
salaryFinalarr.push(rows[i].salary);
wagesrateFinalarr.push(rows[i].wages_rate);
uanFinalarr.push(rows[i].uan);
daysFinalarr.push(rows[i].da);
daysFinalarr.push(rows[i].days_present);
totalwagesFinalarr.push(rows[i].total_wages);
}
console.log('nameFinal is :', nameFinalarr);
console.log('daysFinalarr is :', daysFinalarr);
}
res.render('final',{rows:rowsNumber,name:nameFinal,designation:designationFinal,salary:salaryFinal,wagesrate:wagesrateFinal,uan:uanFinal,da:daFinal,
days:daysFinal,
totalwages:totalwagesFinal});
});
});
你確定'rows [i] .days_present'沒有定義嗎? – Jackowski
是的,我很確定。 days_present是數據庫表attendance_details中的一列。 你爲什麼認爲這應該是未定義的? – faraz
不知道這是否適用於'UNION',但默認情況下,'mysql'不允許多個語句查詢。見[this](https://github.com/mysqljs/mysql#multiple-statement-queries)。 – robertklep