Я пытаюсь создать простой SQL конструктор запросов
У меня есть таблица со следующими столбцами:
| Таблица | Поле | Выражение | Сортировать по | Псевдоним
Мой код пытается построить запрос:
/* Build SQL string */
$(".ConvertSQL").click(function () {
/* Construct an array of the tables and field names (used to build the SELECT query) */
var query = $('.TableQuery > tbody > tr').map(function () {
var $td = $(this).children('td');
return `[${$td.eq(0).html()}].[${$td.eq(1).html()}]`; }).get().join(', ');
var queryOrderBy = $('.TableQuery > tbody > tr').map(function () {
var $td1 = $(this).children('td');
return `[${$td1.eq(0).html()}].[${$td1.eq(1).html()}] ${$td1.eq(3).html()}`; }).get().join(', ');
var queryAlias = $('.TableQuery > tbody > tr').map(function () {
var $td2 = $(this).children('td');
return `${$td2.eq(2).html()}([${$td2.eq(0).html()}].[${$td2.eq(1).html()}]) AS ${$td2.eq(4).html()}`; }).get().join(', ');
/* Piece together the SQL query */
var PartOne = (`SELECT ${queryAlias} FROM [`);
var fromTable = $('.TableQuery tr:nth-child(2) td:nth-child(1)').text();
var Order = (`] ORDER BY ${queryOrderBy}`);
/* Show the SQL in the textarea */
$("#SQLstring").val(PartOne + fromTable + Order );
});
Я знаю, что я вполне могу спуститься по кроличьей норе и потенциально принять неправильный подход к работе.
Как бы то ни было, в настоящий момент, если я генерирую прямой запрос SELECT, код на самом деле работает нормально.
Однако при добавлении выражения происходит ошибка - e, g: SUM ()
Основано на моем коде, если они добавили СУММУ, если бы выглядело так ...
SELECT count([TestTable].[Total]) AS Test, ([TestTable].[User]) AS [Test] FROM [TestTable]
Как вы можете видеть, следующий раздел не будет работать из-за квадратных скобок
([Отчетность]. [Пользователь])
- ДОБАВЛЕНО * Обновлен мой пример SQL, чтобы не возникало путаницы при необходимости объединения