#sql #postgresql #sqlbuilder
#sql #postgresql #sqlbuilder
Вопрос:
Мне нужен запрос, подобный этому, который генерируется с использованием функций Java sqlbuilder:
SELECT Sum(prod) / Sum(
total_prod)
AS PROD,
Max(year) AS YEAR
FROM b.sum SumTable
WHERE ( SumTable.bg IN
(SELECT DISTINCT
SubSumTable.s_id
FROM
b.block
SSumSubTable
WHERE ( (
SSumSubTable.id IN ( 3 ) ) ) )) )
Но вместо этого, когда подзапрос генерируется, он создает его как:
SELECT Sum(prod) / Sum(
total_prod)
AS PROD,
Max(year) AS YEAR
FROM b.sum SumTable, b.block
SumTable
WHERE ( SumTable.ab IN
(SELECT DISTINCT
SumTable.c_id
FROM
b.block
SumSubTable
WHERE ( (
SumSubTable.id IN ( 3 ) ) ) )) )
Он автоматически добавляет имя таблицы подзапроса, т. Е. блок, подлежащий замене, из-за которого запрос не работает. Любое предложение по преодолению этого было бы большим подспорьем.
Ответ №1:
У вас есть непревзойденный дополнительный) в обоих этих примерах запроса. Это помешало бы им работать в первую очередь!