我不確定標題是否與問題相關,但我沒有找到更好的問題。 這裏的問題 - 我有4個表,讓我們說:Oracle右鍵加入3個表格,但只能匹配1
產品(ID,PRODUCT_NAME),
priceA(產品,價格),
priceB(產品,價格),
priceC(產品,價格) 。
什麼,我需要做的是寫一個選擇,這將只顯示我有價格的產品在priceA或priceB或priceC或以A,B的任意組合,C
我怎麼能這樣做?謝謝!
我不確定標題是否與問題相關,但我沒有找到更好的問題。 這裏的問題 - 我有4個表,讓我們說:Oracle右鍵加入3個表格,但只能匹配1
產品(ID,PRODUCT_NAME),
priceA(產品,價格),
priceB(產品,價格),
priceC(產品,價格) 。
什麼,我需要做的是寫一個選擇,這將只顯示我有價格的產品在priceA或priceB或priceC或以A,B的任意組合,C
我怎麼能這樣做?謝謝!
您是否嘗試過這樣的事情:
select p.id,
p.name,
a.price Price_A,
b.price Price_B,
c.price Price_C
from products p
left join pricea a
on p.id = a.product_id
left join priceb b
on p.id = b.product_id
left join pricec c
on p.id = c.product_id
where a.price is not null
or b.price is not null
or c.price is not null
你可以嘗試使用UNION的結果結合起來:
select p.id,
p.name,
a.price
FROM products p INNER JOIN pricea a ON p.id = a.product_id
UNION
select p.id,
p.name,
b.price
FROM products p INNER JOIN priceb b ON p.id = b.product_id
UNION
select p.id,
p.name,
c.price
FROM products p INNER JOIN pricec c ON p.id = c.product_id
見SQLFiddle:http://sqlfiddle.com/#!4/85519/15
沒關係,但我只需要一行產品例如2 product2 25 NULL 3 – maephisto
大!我認爲這會做到這一點!謝謝! – maephisto