0

我有一个 MySQL 数据库表,它指示我的数据库中某些条目之间的关系。该表有4列:(表名是:RelationshipTable)

 id |  type | relationId | relationType
 1 |  customer | 5 | recipt
 2 |  recipt | 4 | customer

我正在尝试将此表的数据添加到另一个包含客户 ID 的表中。但是由于客户的 ID 可能同时显示为 RelationsTable.id 或 RelationsTable.relationId ,所以我不能使用普通的 JOIN。我应该怎么办?

谢谢!

4

3 回答 3

0

我只是在这里猜测您的帖子中没有太多信息。

你可能需要这个:

SELECT RT.id, Cust.Lastname, Cust.Firstname
FROM RelationsTable RT INNER JOIN Customers Cust
ON RT.id = Cust.id
WHERE RT.type = 'customer'
UNION ALL
SELECT RT.relationid, Cust.Lastname, Cust.Firstname
FROM RelationsTable RT INNER JOIN Customers Cust
ON RT.relationid = Cust.id
WHERE RT.relationtype = 'customer'
于 2013-09-16T16:32:10.277 回答
0

你只需要链接它,试试这个

select * from table1, table2 where table1.customer_id = table2.customer_id;

如果仍然错误更改为

select * from table1, table2 where table1.customer_id == table2.customer_id;
于 2013-09-16T16:14:06.493 回答
0

您必须将客户表两次连接到客户表具有不同别名的两个列。

于 2013-09-16T16:20:16.810 回答