Объедините два оператора выбора, содержащие предложениеwhere, используя alasql в node.js.Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Гость
 Объедините два оператора выбора, содержащие предложениеwhere, используя alasql в node.js.

Сообщение Гость »


Я использую alasql в node.js и не могу заставить работать соединение.

Вот фиктивные данные:

x = [ { дата: 20180501, цена: 23, товар: 'x' }, { дата: 20180501, цена: 46, товар: 'y' }, { дата: 20180502, цена: 29, товар: 'x' }, { дата: 20180502, цена: 50, товар: 'y' }, { дата: 20180503, цена: 22, товар: 'x' }, { дата: 20180503, цена: 43, товар: 'y' }, { дата: 20180504, цена: 21, товар: 'x' }, { дата: 20180504, цена: 43, товар: 'y' }, { дата: 20180505, цена: 26, товар: 'x' }, { дата: 20180505, цена: 48, товар: 'y' }] Я хотел бы получить для каждого дня соотношение между ценой продукта y и продукта y. Итак, мой желаемый результат:

desiredOutput = [ {дата: 20180501, соотношение цены: 46/23}, {дата: 20180502, соотношение цены: 50/29}, { дата: 20180503, соотношение цены: 43/22}, {дата: 20180504, соотношение цены: 43/21}, {дата: 20180505, цена_соотношение: 48/26}] Я пытаюсь получить это с помощью следующего запроса:

alasql("выберите дату, цену_y/price_x как цену_соотношения из (выберите дату, цену как цену_y из ? где продукт='y') как y join (выберите дату, цену как цену_х из ? где продукт=' x') как x в x.date=y.date", [x,x]) Но я не могу заставить его работать. Он не дает сбоя или чего-то еще, но я получаю только цену_x, а не соотношение. Вот что я получаю:

[ {дата: 20180501, цена_x: 23}, { дата: 20180502, цена_х: 29 }, { дата: 20180503, цена_x: 22 }, {дата: 20180504, цена_x: 21}, { дата: 20180505, цена_x: 26 } ] Я могу получить желаемый результат, запустив и сохранив каждый подзапрос отдельно, а затем выполнив соединение с использованием этих объектов, но мне хотелось бы знать, как это сделать, используя только вложенные подзапросы, за один вызов.

Любая помощь будет оценена по достоинству!
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»