2015-10-28 4 views
0

мне нужен SQL запрос, объединить некоторые результаты, но они должны соответствовать ...Регистрация результатов SQL в одной таблице

Например, см это изображение: Image of the tables

Как я могу это сделать? Является ли это возможным?

Спасибо!

+1

сделать LEFT JOIN. И используйте coalesce на BuyPrice. – jarlh

+1

Что вы пробовали. И почему buyPrice в последней записи 10.6? – Jens

+0

Спасибо ... BuyPrice в последней записи 10.6, потому что его просто образец, и я не заметил, что он был выше AVGPrice .. это должно быть 7 –

ответ

2
select t1.product, t1.quantity, t1.avgprice, coalesce(t2.buyprice, 0) 
from table1 t1 
left join table2 t2 on t1.product = t2.product 

The LEFT JOIN есть также возвращать TABLE1 строки без согласования table2 строки.

coalesce(t2.buyprice, 0) используется для возврата 0, если нет t2.buyprice (т. Е. T2.buyprice равно null).

+0

Thans ... это помогло мне ... Просто нужно приспособиться к моим представлениям ... –

0

Вам просто нужно использовать запрос с оператором JOIN.

SELECT t1.Product, t1.Quantity, t1.AVGPrice, t2.BuyPrice 
FROM Table1 t1 
LEFT JOIN Table2 t2 ON t1.Product = t2.Product 
+0

Thans ... это помогло мне ... Просто нужно адаптироваться к моему Просмотров ... –

0

Вы можете использовать левое соединение, например:

SELECT t1.product, t1.quantity, t1.avgprice, ISNULL(t2.buyprice, 0) 
FROM table1 t1 
    LEFT JOIN table2 t2 
     ON t1.product = t2.product 
Смежные вопросы