Mysql:从2个表中获取结果

时间:2014-03-18 17:21:37

标签: mysql database

我有2张桌子。

电话簿:

 _________________________________
| id | Photo   | Name | Number    |
|---------------------------------|
| 1  | abc.jpg | John | 123-45-67 |
|---------------------------------|
| 2  | def.jpg | Sam  | 482-34-00 |
|_________________________________|

历史:

 ____________________________________
| id  | Name | Date       | Type     |
|------------------------------------|
| 24  | John | 17.03.2014 | Incoming |
|------------------------------------|
| 25  | Sam  | 18.03.2014 | Incoming |
|------------------------------------|
| 26  | Sam  | 19.03.2014 | Outgoing |
|____________________________________|

我需要从History表中获取所有列,其中id = $id(在我的情况下为25),并从Image获取PhoneboockHistory.Name = Phonebook.Name (山姆在我的情况下)。以下是我想得到的结果:

 ______________________________________________
| id  | Name | Date       | Type     | Image   |
|----------------------------------------------|
| 25  | Sam  | 18.03.2014 | Incoming | def.jpg |
|______________________________________________|

3 个答案:

答案 0 :(得分:2)

看来你的问题是获取数据的SQL,所以请使用:

SELECT History.*, Phonebook.Photo
FROM History INNER JOIN Phonebook ON Phonebook.Name = History.Name 
AND History.id = $id

答案 1 :(得分:1)

如果您正在寻找SQL Select语句,它将如下所示:

SELECT HISTORY.*, PHONEBOOK.Photo FROM HISTORY, PHONEBOOK
WHERE HISTORY.Name = PHONEBOOK.Name AND HISTORY.id='25'

答案 2 :(得分:1)

您可以按如下方式使用JOIN

SELECT * FROM History INNER JOIN Phonebook WHERE  History.name = Phonebook.name

这将为您提供所有行的连接。您可以对其进行更多自定义以获得所需内容。查看JOIN here了解详情