i new using google charts , cannot figure out why query not displaying in google chart (table). table display query. query trying display doesn't bring table first query does.
i cannot seem understand problem is, because tested query several times , ran in sql server, , generate output looking for, doesn't display in table
working query:
select researcher.firstname + ' ' + researcher.surname [researcher_name], count(submission.submissionid) [number_of_submissions] submission inner join ((faculty inner join school on faculty.facultyid = school.[facultyid]) inner join (researcher inner join researchersubmission on researcher.researcherid = researchersubmission.researcherid) on school.schoolid = researcher.schoolid) on submission.submissionid = researchersubmission.submissionid group researcher.firstname, researcher.surname;
this query doesn't display google chart. note: when run query in sql generator however, display results looking for:
select submission.title [title], submission.status [submission_status] submission inner join ((faculty inner join school on faculty.facultyid = school.[facultyid]) inner join (researcher inner join researchersubmission on researcher.researcherid = researchersubmission.researcherid) on school.schoolid = researcher.schoolid) on submission.submissionid = researchersubmission.submissionid group submission.status, submission.title;
this entire code working query , have commented out non-working one:
@{ var db = database.open("rmscontext"); string rows = ""; var query = ("select researcher.firstname + ' ' + researcher.surname [researcher_name], count(submission.submissionid) [number_of_submissions] submission inner join ((faculty inner join school on faculty.facultyid = school.[facultyid]) inner join (researcher inner join researchersubmission on researcher.researcherid = researchersubmission.researcherid) on school.schoolid = researcher.schoolid) on submission.submissionid = researchersubmission.submissionid group researcher.firstname, researcher.surname;"); //var query = ("select submission.title [title], submission.status [submission_status] submission inner join ((faculty inner join school on faculty.facultyid = school.[facultyid]) inner join (researcher inner join researchersubmission on researcher.researcherid = researchersubmission.researcherid) on school.schoolid = researcher.schoolid) on submission.submissionid = researchersubmission.submissionid group submission.status, submission.title;"); var appquery = db.query(query); list<string> rowslist = new list<string>(); foreach (var item in appquery) { rowslist.add("['" + item.researcher_name + "', " + item.number_of_submissions + "]"); }; rows = string.join(", ", rowslist); } <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("visualization", "1.1", { packages: ["table"] }); google.setonloadcallback(drawtable); function drawtable() { var data = google.visualization.arraytodatatable([ ['researcher name', 'number of submissions'], @html.raw(rows)]); var options = { title: '' }; var dashboard = new google.visualization.dashboard(document.queryselector('#dashboard')); var stringfilter = new google.visualization.controlwrapper({ controltype: 'stringfilter', containerid: 'string_filter_div', options: { filtercolumnindex: 0 } }); var table = new google.visualization.chartwrapper({ charttype: 'table', containerid: 'table_div', options: { showrownumber: false } }); dashboard.bind([stringfilter], [table]); dashboard.draw(data); } google.load('visualization', '1', { packages: ['controls'], callback: drawtable }); </script> <div id="dashboard"> <div id="string_filter_div"></div> <div id="table_div"></div> </div>
i feel missing simple, cannot rap head around it.
first of don't need group by
, remove line group submission.status, submission.title;
don't need group by
, rather meant use row_number()
function , joins
total weird, modify them below
select * ( select submission.title [title], submission.status [submission_status], row_number() over(partition submission.title order submission.title) rn submission inner join researchersubmission on submission.submissionid = researchersubmission.submissionid inner join researcher on researcher.researcherid = researchersubmission.researcherid inner join school on school.schoolid = researcher.schoolid inner join faculty on faculty.facultyid = school.[facultyid] ) xx rn = 1;
Comments
Post a Comment