2017-02-18 41 views
-1
SELECT 
    (SELECT sum(cost) from cost_table) AS "amount_paid" 
FROM member_management; 

Мне нужно значение, которое было подсчитано по подзапросу, который будет использоваться в следующем столбце для дальнейших вычислений. Пример приведен ниже:Запрос на вычисление SQL

SELECT 
    (SELECT sum(cost) from cost_table) AS "amount_paid", 
    amount_paid/5 AS "share price" 
FROM member_management; 
+0

Я думаю, что вы можете понять это из – Strawberry

+0

. Предложение, пожалуйста, используйте заголовок вроде «SQL-запроса расчета», который предлагает тему, в которой вам нужна помощь, и напишите вопрос как часть вашего текста вопроса вместе с кодом – Bitonator

+0

. Имейте это в виду Я новичок в этом спасибо btw – PraKhar

ответ

0

Вы не можете повторно использовать псевдоним в том же select статье вы определяете его. Одним из способов решения этой проблемы было бы сделать расчет

SELECT m.*, amount_paid, share_price 
FROM member_management m 
cross join 
(
    SELECT sum(cost) as amount_paid, sum(cost)/5 as share_price 
    from cost_table 
) tmp 
+0

Это фактический запрос. код между звездами необходимо преобразовать в формате Я пробовал ваше решение, но, возможно, я пишу его неправильно. вы можете помочь с этим thanks [link] https://gist.github.com/anonymous/7036375fecb31b7d6f01004b15898472 – PraKhar

0

Поскольку вы не можете ссылаться на псевдоним столбца в другом выражении в списке выбора, вам нужно

  • либо повторить sliased выражение в второй расчет
  • или вам нужно переместить подзапрос из выпадающего списка в пункте из

Пример кода для 2-го предложения:

SELECT 
    amount_paid", 
    amount_paid/5 AS share price 
FROM (SELECT sum(cost) as amount_paid from cost_table) t 
Join member_management 
+0

Это фактический запрос. код между звездами необходимо преобразовать в формате Я пробовал ваше решение, но, возможно, я пишу его неправильно. Вы можете помочь с этим спасибо [ссылка] https://gist.github.com/anonymous/7036375fecb31b7d6f01004b15898472 – PraKhar

+0

Pls изменить сам вопрос и включить соответствующий код. Однако в следующий раз, когда PLS сделает это ** до того, как ** кто-нибудь ответит, потому что вы тратите свое время таким образом. – Shadow

+0

[link] https://gist.github.com/anonymous/b5ca7b45d8180c52b9d45186c4e73a6b. Мне было бы сложнее понять концепцию с большим запросом. извините за то, что тратил свое время, я новичок в этом. Хотя я получил решение, его в ссылке. Спасибо – PraKhar

0

сумма (стоимость) = "amount_paid" и amount_paid/5 = "цена акций", то вы должны использовать сумму (стоимость)/5 = "цена акций" это way..try это

SELECT 
(SELECT sum(cost) from cost_table) AS "amount_paid", 
(SELECT sum(cost)/5 from cost_table) AS "share price" 
FROM member_management; 
+0

[link] https://gist.github.com/anonymous/7036375fecb31b7d6f01004b15898472. Это фактический запрос. Часть между звездами (** **) должна быть преобразована. Я хочу избежать повторного ввода всего этого. – PraKhar