JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://rawgit.com/agershun/alasql/develop/dist/alasql.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/xlsx.full.min.js"></script>
<xmp id="output"></xmp>
JavaScript
print('I would expect to get xxxx but I get yyyy:')
var sql =
'CREATE TABLE one (a INT, b INT);'+
'INSERT INTO one VALUES(1,10),(2,20);'+
'CREATE TABLE two (a INT, c INT);'+
'INSERT INTO two VALUES(1,100),(2,200);'
alasql(sql)
//print('table data:')
//print(alasql('Select * from one; select * from two'))
print('When joining two tables all column gets fetched')
print(alasql('SELECT * FROM one x JOIN two y ON x.a=y.a;'))
print('When joining a subselect we lose a column')
print(alasql('SELECT * FROM one t0 JOIN (SELECT a,c FROM two) t1 ON t0.`a`=t1.`a`;'))
print('Workaround: pass subselect as parameter')
print(alasql('SELECT * FROM one t0 JOIN ? t1 ON t0.`a`=t1.`a`;', [alasql('SELECT a,c FROM two')]))
function print(x){
document.getElementById('output').textContent += JSON.stringify(x, null, '\t')+"\n";
}
print('AlaSQL v'+alasql.version)