mysql从多个表中选择

时间:2010-03-31 08:35:18

标签: mysql

我有3个表格,其值如下所示

**tbl_product**
recID      pID       price      colour
1         BDPLA-0001   1.23        White
2         BDPLA-0002   2.23        Black
3         BDPLA-0003   2.28        Blue

tbl_product_size
recID        pID       size       stock       
1            1         2.0cm       10 
2            1         3.0cm       20
3            2         2.5cm       30
4            3         3.6cm       40
5            3         3.8cm       50

tbl_order_details
recID       pID        quantity   size
201         BDPLA-0001   5        2.0cm 
202         BDPLA-0002   10       2.5cm

tbl_product = t
tbl_product_size = s
tbl_order_details = d

t.recID = s.pID
t.pID = d.pID

我如何组合表格并产生这样的结果

t.pID       s.size       s.stock     d.quantity  t.price
BDPLA-0001  2.0cm        10          5           1.23
BDPLA-0001  3.0cm        20          null        1.23
BDPLA-0002  2.5cm        30          10          2.23
BDPLA-0003  3.6cm        40          null        2.28
BDPLA-0003  3.8cm        50          null        2.28

3 个答案:

答案 0 :(得分:2)

您可以使用联盟

select a,b,c from table A
union
select a,b,c from table B;

每个选择中列的数量和类型应该相同。

答案 1 :(得分:0)

您的问题似乎不完整但您可以尝试以下操作,否则这将有助于您了解查询中如何使用多个表。

select t.pID, s.size s.stock d.quantity t.price 
from  tbl_product t,  tbl_product_size s, tbl_order_details d 
where  t.recID=s.pID  and d.pID=t.pID

答案 2 :(得分:0)

这样就可以了解

select t.pID, t.price, s.size, s.stock, d.quantity
from tbl_product t inner join tbl_product_size s on t.recID = s.pID
left outer join tbl_order_details d on t.pID = d.productCode and s.size = d.size;