1

我试图让 2 个表基于 2 个值加入。继承人的表:

联系人vlg debnr 名称等。

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';
4

1 回答 1

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

或者,由于两个表中的字段名称相同:

... INNER JOIN orderheaders USING (debnr, vlg)
于 2013-07-10T11:59:33.760 回答