2015-05-20 2 views
0

Я пытаюсь выполнить соединение между двумя таблицами, как описано ниже. Я в недоумении, что искать и что искать. Любые идеи о том, что мне не хватает?SQLite Таблицы Left join после двух запросов

SELECT * FROM 
(SELECT PART_NUMBER, PART_DESCRIPTION, AVG(JOB_QUANTITY_SCHEDULED) FROM JOBS GROUP BY PART_NUMBER) 
    left join 
(SELECT ITEM, ITEM_COST, COSTING_LOT_SIZE, FIXED_DAYS_SUPPLY FROM ITEM_ATTRIBUTE) 
    ON JOBS.PART_NUMBER == ITEM_ATTRIBUTE.ITEM 

Am не получаю ошибку

нет такой колонки: JOBS.PART_NUMBER:

смотрел, чтобы получить выходной сигнал с этих колонок

PART_NUMBER, PART_DESCRIPTION, AVG (JOB_QUANTITY_SCHEDULED, ПУНКТ, ITEM_COST, COSTING_LOT_SIZE, FIXED_DAYS_SUPPLY

для всех пунктов в Вакансии Запрос

+0

Пожалуйста, покажите нам результат, который вы ожидаете получить. – scottb

ответ

2

Вам может понадобиться псевдоним ваших подзапросов так:

select * from 
(
    SELECT part_number, part_description, AVG(job_quantity_scheduled) 
    FROM JOBS 
    GROUP BY PART_NUMBER 
) as itemjobs 

left join 

(
    SELECT ITEM, ITEM_COST, COSTING_LOT_SIZE, FIXED_DAYS_SUPPLY 
    FROM ITEM_ATTRIBUTE 
) as itemattr 

on itemjobs.part_number = itemattr.item 

Без псевдонима, SQLite не в состоянии понять, где искать Таблица JOBS. Предоставление каждому подзапросу псевдонима поможет SQLite правильно выполнить сопоставление полей.

+0

Работал как шарм. Спасибо за четкую структуру. Помогает мне понять это на будущее – canyon289

Смежные вопросы