Mysql关节关节主键

时间:2013-04-26 08:53:55

标签: php mysql join

我想知道在这种情况下如何做关节:

我有一个名为Table_ref的表,其中包含数据库中所有表的名称,结构如下:

-----------------------------------------------
| Field       | Type        | Null   | Key    |
-----------------------------------------------
| tbl_name    | varchar(45) |  NO    | PRI    |
| tbl_type    | Tinyint(3)  |  NO    | MUL    |
-----------------------------------------------

以及另外一个名称为A1B1A2B2的其他表...具有相同的结构:

-----------------------------------------------
| Field       | Type        | Null   | Key    |
-----------------------------------------------
| id          | int(10)     |  NO    | PRI    |
| itime       | int(10)     |  YES   | MUL    |
| dtime       | int(10)     |  YES   | MUL    |
| src         | varchar(40) |  YES   |        |
| dstname     | varchar(255)|  YES   |        |
-----------------------------------------------

问题是我如何进行关节以便从所有表中提取src='192.168.1.2'的信息。

1 个答案:

答案 0 :(得分:0)

这是所有表格的组合结构

-----------------------------------------------
| Field       | Type        | Null   | Key    |
-----------------------------------------------
| id          | int(10)     |  NO    | PRI    |
| itime       | int(10)     |  YES   | MUL    |
| dtime       | int(10)     |  YES   | MUL    |
| src         | varchar(40) |  YES   |        |
| dstname     | varchar(255)|  YES   |        |
| type        | Tinyint(3)  |  NO    | MUL    |
-----------------------------------------------

现在您可以使用简单查询提取信息

SELECT
    *
FROM mytable
WHERE src = '192.168.1.2'   

它将从每种类型中获取记录。如果您需要信息表 特定类型只需添加另一个条件

SELECT
    *
FROM mytable
WHERE src = '192.168.1.2'   
AND type = 1