sql基于2个值连接2个表

时间:2013-07-10 11:50:11

标签: mysql join

我试图根据2个值获得2个表加入。见表:

通讯录 vlg debnr name等。

orderheaders vlg debnr ordernumber等。

vlg是与订单关联的联系人号码。 Debnr是与订单关联的公司编号。我只收到发布的订单号,需要在orderheaders表中找到,找到debnr和vlg,然后找到联系人的姓名。我认为这可以通过INNER JOIN完成,但由于我对JOIN缺乏经验,我无法让它工作。

继承人我试过但不会工作,我知道它不会因为我甚至没有检查vlg,但我不知道如何加入基于2值。有人可以帮帮我吗?:

SELECT *, orderheaders.ordernummer, orderheaders.vlg
FROM contacts
INNER JOIN contacts on( orderheaders.debnr = contacts.debnr)
WHERE orderheaders.ordernummer = 'some_order_number';

1 个答案:

答案 0 :(得分:2)

SELECT *
FROM contacts
INNER JOIN orderheaders ON (
    orderheaders.debnr = contacts.debnr
    AND orderheaders.vlg = contacts.vlg
)

或者,因为两个表中的字段都具有相同的名称:

... INNER JOIN orderheaders USING (debnr, vlg)