MySQL多个字段引用一个表

时间:2013-11-13 06:09:02

标签: mysql

如果我有一个表,A,其中包含4个字段,即

productA, typeA, productB, typeB

“product *”包含产品名称,然后“type *”指表B的id,其中包含

id, type
1 , "fooType"
2 , "barType"

现在在我的表A中,我有类似

的内容
productA, typeA, productB, typeB
"apple" , 1    , "banana", 2

现在,我想从表B中使用正确的类型信息检索上面的行,SQL应该如何?我没有使用“JOIN ... AND”,而“JOIN ... OR”将产生两个结果。

[编辑]

我试过的查询,

select * from a join b on a.typeA=b.id and a.typeB = b.id
select * from a join b on a.typeA=b.id or a.typeB = b.id

1 个答案:

答案 0 :(得分:2)

那将是:

SELECT
  A.productA,
  B1.type AS typeA,
  A.productB,
  B2.type AS typeB
FROM
  A
    LEFT JOIN B AS B1 ON A.typeA=B1.id
    LEFT JOIN B AS B2 ON A.typeB=B2.id