Mysql SQL表映射

Mysql SQL表映射,mysql,sql-server-2008,Mysql,Sql Server 2008,我有一个表格,上面有超过10万个六位数的CIP代码和相关标题: 六位数表: +-----------------+-----------------------------------------------+ | SixDigitCIPCode | SixDigitCIPTitle | +-----------------+-----------------------------------------------+ |

我有一个表格,上面有超过10万个六位数的CIP代码和相关标题:

六位数表:

+-----------------+-----------------------------------------------+
| SixDigitCIPCode |               SixDigitCIPTitle                |
+-----------------+-----------------------------------------------+
|         01.0000 | Agriculture, General                          |
|         01.0102 | Agribusiness/Agricultural Business Operations |
|         01.0201 | Agricultural Mechanization, General           |
|         03.0501 | Forestry, General                             |
|         05.0112 | South Asian Studies                           |
+-----------------+-----------------------------------------------+
+------------------+--------------------------------------+
| FourDigitCIPCode |          FourDigitCIPTitle           |
+------------------+--------------------------------------+
|            01.00 | Agriculture, General                 |
|            01.01 | Agricultural Business and Management |
|            01.02 | Agricultural Mechanization           |
|            03.05 | Forestry                             |
|            05.01 | Area Studies                         |
+------------------+--------------------------------------+
+-----------------+-----------------------------------------------------------+
| TwoDigitCIPCode |                     TwoDigitCIPTitle                      |
+-----------------+-----------------------------------------------------------+
|              01 | Agriculture, Agriculture Operations, And Related Sciences |
|              01 | Agriculture, Agriculture Operations, And Related Sciences |
|              01 | Agriculture, Agriculture Operations, And Related Sciences |
|              03 | Natural Resources And Conservation                        |
|              05 | Area, Ethnic, Cultural, Gender, And Group Studies         |
+-----------------+-----------------------------------------------------------+
我需要用两位数和四位数的CIP代码和标题来映射它。 四位数CIP表如下:

四位密码:

+-----------------+-----------------------------------------------+
| SixDigitCIPCode |               SixDigitCIPTitle                |
+-----------------+-----------------------------------------------+
|         01.0000 | Agriculture, General                          |
|         01.0102 | Agribusiness/Agricultural Business Operations |
|         01.0201 | Agricultural Mechanization, General           |
|         03.0501 | Forestry, General                             |
|         05.0112 | South Asian Studies                           |
+-----------------+-----------------------------------------------+
+------------------+--------------------------------------+
| FourDigitCIPCode |          FourDigitCIPTitle           |
+------------------+--------------------------------------+
|            01.00 | Agriculture, General                 |
|            01.01 | Agricultural Business and Management |
|            01.02 | Agricultural Mechanization           |
|            03.05 | Forestry                             |
|            05.01 | Area Studies                         |
+------------------+--------------------------------------+
+-----------------+-----------------------------------------------------------+
| TwoDigitCIPCode |                     TwoDigitCIPTitle                      |
+-----------------+-----------------------------------------------------------+
|              01 | Agriculture, Agriculture Operations, And Related Sciences |
|              01 | Agriculture, Agriculture Operations, And Related Sciences |
|              01 | Agriculture, Agriculture Operations, And Related Sciences |
|              03 | Natural Resources And Conservation                        |
|              05 | Area, Ethnic, Cultural, Gender, And Group Studies         |
+-----------------+-----------------------------------------------------------+
TwoDigitCIPTable:

+-----------------+-----------------------------------------------+
| SixDigitCIPCode |               SixDigitCIPTitle                |
+-----------------+-----------------------------------------------+
|         01.0000 | Agriculture, General                          |
|         01.0102 | Agribusiness/Agricultural Business Operations |
|         01.0201 | Agricultural Mechanization, General           |
|         03.0501 | Forestry, General                             |
|         05.0112 | South Asian Studies                           |
+-----------------+-----------------------------------------------+
+------------------+--------------------------------------+
| FourDigitCIPCode |          FourDigitCIPTitle           |
+------------------+--------------------------------------+
|            01.00 | Agriculture, General                 |
|            01.01 | Agricultural Business and Management |
|            01.02 | Agricultural Mechanization           |
|            03.05 | Forestry                             |
|            05.01 | Area Studies                         |
+------------------+--------------------------------------+
+-----------------+-----------------------------------------------------------+
| TwoDigitCIPCode |                     TwoDigitCIPTitle                      |
+-----------------+-----------------------------------------------------------+
|              01 | Agriculture, Agriculture Operations, And Related Sciences |
|              01 | Agriculture, Agriculture Operations, And Related Sciences |
|              01 | Agriculture, Agriculture Operations, And Related Sciences |
|              03 | Natural Resources And Conservation                        |
|              05 | Area, Ethnic, Cultural, Gender, And Group Studies         |
+-----------------+-----------------------------------------------------------+
我在三个不同的SQL表中分别加载了两位、四位和六位CIP查找值。 我需要在SixDigitCIPTable中插入两位数和四位数的CIP详细信息以及相应的值

比如说,

SixDigitCIPTable的第一条记录是

01.0000 | Agriculture, General
所以两位数的代码是01,当在TwoDigitCIPTable中映射这两位数的代码时,要映射的记录是

01  | Agriculture, Agriculture Operations, And Related Sciences 
01.00   | Agriculture, General
四位数代码将是01.00,而在FourDigitCIPTable中映射这四位数代码时,要映射的记录是

01  | Agriculture, Agriculture Operations, And Related Sciences 
01.00   | Agriculture, General
因此,在SixDigitCIPTable中插入两位和四位代码后,第一条记录应该如下所示

01  | Agriculture, Agriculture Operations, And Related Sciences | 01.00 | Agriculture, General |    01.0000 | Agriculture, General
+-----------------+-----------------------------------------------------------+------------------+--------------------------------------+-----------------+-------------------------------------+
| TwoDigitCIPCode |                     TwoDigitCIPTitle                      | FourDigitCIPCode |          FourDigitCIPTitle           | SixDigitCIPCode |          SixDigitCIPTitle           |
+-----------------+-----------------------------------------------------------+------------------+--------------------------------------+-----------------+-------------------------------------+
|              01 | Agriculture, Agriculture Operations, And Related Sciences |            01.00 | Agriculture, General                 |         01.0000 | Agriculture, General                |
|              01 | Agriculture, Agriculture Operations, And Related Sciences |            01.01 | Agricultural Business and Management |                 |                                     |
|         01.0102 | Agribusiness/Agricultural Business Operations             |                  |                                      |                 |                                     |
|              01 | Agriculture, Agriculture Operations, And Related Sciences |            01.02 | Agricultural Mechanization           |         01.0201 | Agricultural Mechanization, General |
|              03 | Natural Resources And Conservation                        |            03.05 | Forestry                             |          3.0501 | Forestry, General                   |
|              05 | Area, Ethnic, Cultural, Gender, And Group Studies         |            05.01 | Area Studies                         |         05.0112 | South Asian Studies                 |
+-----------------+-----------------------------------------------------------+------------------+--------------------------------------+-----------------+-------------------------------------+
最后,SixDigitCIPTable应该是这样的

01  | Agriculture, Agriculture Operations, And Related Sciences | 01.00 | Agriculture, General |    01.0000 | Agriculture, General
+-----------------+-----------------------------------------------------------+------------------+--------------------------------------+-----------------+-------------------------------------+
| TwoDigitCIPCode |                     TwoDigitCIPTitle                      | FourDigitCIPCode |          FourDigitCIPTitle           | SixDigitCIPCode |          SixDigitCIPTitle           |
+-----------------+-----------------------------------------------------------+------------------+--------------------------------------+-----------------+-------------------------------------+
|              01 | Agriculture, Agriculture Operations, And Related Sciences |            01.00 | Agriculture, General                 |         01.0000 | Agriculture, General                |
|              01 | Agriculture, Agriculture Operations, And Related Sciences |            01.01 | Agricultural Business and Management |                 |                                     |
|         01.0102 | Agribusiness/Agricultural Business Operations             |                  |                                      |                 |                                     |
|              01 | Agriculture, Agriculture Operations, And Related Sciences |            01.02 | Agricultural Mechanization           |         01.0201 | Agricultural Mechanization, General |
|              03 | Natural Resources And Conservation                        |            03.05 | Forestry                             |          3.0501 | Forestry, General                   |
|              05 | Area, Ethnic, Cultural, Gender, And Group Studies         |            05.01 | Area Studies                         |         05.0112 | South Asian Studies                 |
+-----------------+-----------------------------------------------------------+------------------+--------------------------------------+-----------------+-------------------------------------+

在SQL中有这样做的可能性吗?

为什么要这样做?您有一个完美的表结构(除了可能将主键拆分为组合键以使连接更容易、更快),您想对其进行非规范化吗?使用
join
获取最终结果。不要更改表以获得最终结果。
join
我想不起作用。因为每个表都有不同的数字记录,而不是按升序排列。对于样本,我提供了五条记录。所以我们不能直接连接表。当然,您可以使用连接,这就是关系数据库的用途(否则您不需要数据库)。尝试
从TwoDigitCIP two中选择*join fourdigitcipp four on two.TwoDigitCIPCode=left(four.FourDigitCIPCode,2)在four.FourDigitCIPCode=left(six.SixDigitCIPCode,5)
。将代码拆分为1、2和3列将允许更好的联接和外键(例如,在将
01.00
添加到表4之前,请检查表2中是否存在
01
),但这样做效果很好。我再说一遍:请不要把所有数据放在一个巨大的表中。你为什么要这样做?您有一个完美的表结构(除了可能将主键拆分为组合键以使连接更容易、更快),您想对其进行非规范化吗?使用
join
获取最终结果。不要更改表以获得最终结果。
join
我想不起作用。因为每个表都有不同的数字记录,而不是按升序排列。对于样本,我提供了五条记录。所以我们不能直接连接表。当然,您可以使用连接,这就是关系数据库的用途(否则您不需要数据库)。尝试
从TwoDigitCIP two中选择*join fourdigitcipp four on two.TwoDigitCIPCode=left(four.FourDigitCIPCode,2)在four.FourDigitCIPCode=left(six.SixDigitCIPCode,5)
。将代码拆分为1、2和3列将允许更好的联接和外键(例如,在将
01.00
添加到表4之前,请检查表2中是否存在
01
),但这样做效果很好。我重复一遍:请不要把所有数据放在一个巨大的表中。