0

我有这张桌子

ADDS(1)

+----+--------------+--------------+
| id | name of add  | Date         |
+----+--------------+--------------+
|  1 | Add01        | March 01     |
|  2 | Add02        | March 02     |
|  3 | Add03        | March 03     |
|  4 | Add04        | March 04     |
+----+--------------+--------------+

TYPE OF ADDS(2)

+----+----------+
| id | Add id   |
+----+----------+
| 21 | 1        |  NOTE: Add id of table (2) = id of table (1)
| 22 | 2        |
| 23 | 3        |
| 24 | 4        |
+----+----------+

NAMES OF TYPES(3)

+----+-----------+--------------+
| id | Type id   | Name         |
+----+-----------+--------------+
| 31 | 21        | Text add     |
| 32 | 22        | Banner       | NOTE: Type id of table (3) = id of table (2)
| 33 | 23        | Video add    |
| 34 | 24        | Other        |
+----+-----------+--------------+

我需要这样的报告:

+--------+-----------+--------------+
| Add id | Add name  | Type of add  |
+--------+-----------+--------------+
|  1     | Add01     | Text add     |
|  2     | Add02     | Banner       |
|  3     | Add03     | Video add    |
|  4     | Add04     | Other        |
+--------+-----------+--------------+

Add id来自表(1),Add name来自表(1),Type of add来自表(3))

到目前为止,我可以做一个SELECT query LEFT JOIN table 1 and 2,但我不知道如何Name of type从表 3 返回值。我该怎么做?

4

4 回答 4

1

再次加入表 3:

SELECT t1.`id`          AS `Add id`,
       t1.`name of add` AS `Add name`,
       t3.`Name`        AS `Type of add`
FROM   `ADDS` AS t1
  LEFT JOIN `TYPE OF ADDS`   AS t2 ON t2.`Add id`  = t1.`id`
  LEFT JOIN `NAMES OF TYPES` AS t3 ON t3.`Type id` = t2.`id`
于 2012-05-31T17:34:10.323 回答
1
SELECT  ad.id, ad.name,t.name
FROM ADDS ad
LEFT JOIN TYPEADDS ta ON ta.add_id = ad.id
LEFT JOIN TYPES t ON t.id = ta.id 
于 2012-05-31T17:35:09.893 回答
1
SELECT `table1`.`id` AS `Add id`, `table1`.`name_of_add` AS `Add name`, `table3`.`Name` AS `Type of add`
FROM `table1`, `table2`, `table3`
WHERE `table1`.`id` = `table2`.`add_id` AND `table2`.`id` = `table3`.`Type_id`
于 2012-05-31T17:35:13.157 回答
1

试试这个查询:

select ADDS.nameofadds,TYPEOFADDS.ADDid,NAMEOFTYPES.Name
    FROM ADDS 
    JOIN TYPEOFADDS 
         ON  ADDS.id=TYPEOFADDS.ADDid
    JOIN NAMEOFTYPES 
         ON  TYPEOFADDS.id=NAMEOFTYPES.TYPEid
于 2012-05-31T17:54:58.337 回答