MySQL:从一个查询中的不同表中获取值?

问题描述:

我有一个表格,其中3列与另一个表格中的ID相对应,我需要的是在一个查询中获取另一个表格中该ID的实际值,全部在一个查询中。MySQL:从一个查询中的不同表中获取值?

我有麻烦搞清楚SQL来得到我想要的结果。我试过用子查询和加入,但似乎无法弄清楚。

这是表:

表A

+----------+-------------+ 
| Field | Type  | 
+----------+-------------+ 
| id  | int(3)  | 
| name  | text  | 
| item1 | int(3)  | 
| item2 | int(3)  | 
| item3 | int(3)  | 
+----------+-------------+ 

表B

+----------+-------------+ 
| Field | Type  | 
+----------+-------------+ 
| id  | int(3)  | 
| name  | text  | 
| url  | text  | 
+----------+-------------+ 

在表A中的字段ITEM1,ITEM2和项目3是从表B编号。

我需要得到表A的查询结果,并在一个查询中获取item1,item2和item3的实际值,而不是ID号。

我希望有人能指出我正确的方向。

顺便说一句,这将用于一个PHP应用程序,不知道这个信息是否相关。

在此先感谢!

+0

这些表格之间的关系是什么? – iamsleepy

+4

https://www.youtube.com/watch?v=6BfofgkrI3Y –

+0

好的@JackWilliams – iamsleepy

这是一个连接。

Select * from TableA a, TableB b1, TableB b2, TableB b3 
where a.item1 = b1.id 
and a.item2 = b2.id 
and a.item3 = b3.id 
+0

好吧,现在看起来这么简单,我想我是通过连接,工会和子查询让自己变得复杂。谢谢@Thomas。 – Ariel

+0

如果从> 1表中选择相同的列,那么您将使用UNION。还有一个视频,[看看](https://www.youtube.com/watch?v=crj8x1PevcY)。 –