JQuery SQL построитель запросов - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь создать простой 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, чтобы не возникало путаницы при необходимости объединения
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...