【发布时间】:2017-05-11 19:17:49
【问题描述】:
我在数据库中有 2 个现有表,即 Table_1 和 Table_2。
我需要将Table_1 和Table_2 的信息合并到一个名为Combined_table 的新表中。
Table_1 的列名和值可以直接复制到Combined_table。
然后,我需要添加名称包含在 Service Description 中的不同值上的列 Table_2。每个不同的值都必须成为添加到Combined_table 的列名。
这些新添加的列必须将它们各自的值添加到正确的行。每一行都可以通过所有表中可用的MSISDN 列来标识。
Table_1
|MSISDN |Abar Date |Upgrd |Pack Code |Tariff |Avg Spend |SIM Number
|--------------|-----------|------|----------|---------------------|----------|---------------------|
|9602005689344 |18-Mar-15 |Y |MDA |Machine2Machine Data |32.56 |89490000000000001215 |
|9602005926494 |06-Feb-15 |Y |MLT |Machine2Machine Lite |27.38 |89490000000000004457 |
|9602005926509 |06-Feb-15 |Y |MLT |Machine2Machine Lite |10.1 |89490000000000045677 |
|9602005926524 |06-Feb-15 |Y |MLT |Machine2Machine Lite |31.77 |89490000000000002887 |
|9602005926539 |18-Mar-15 |Y |MDA |Machine2Machine Data |32.36 |94900000000000100212 |
|9602006330948 |11-Mar-16 |N |MLT |Machine2Machine Lite |4.39 |89460000000015600111 |
|9602006330950 |11-Mar-16 |N |MLT |Machine2Machine Lite |4.39 |89940000000000426577 |
|--------------|-----------|------|----------|---------------------|----------|---------------------|
Table_2
|MSISDN |Service Description |Value |
|---------------|----------------------------------|----------|
|9602005689344 |100MB |25.44 |
|9602005689344 |Basic Data 9600 |0.00 |
|9602005689344 |Basic Telephony |6.58 |
|9602005689344 |Ebilling - Corporate CD Extract |0.00 |
|9602005689344 |Unrestricted APN |0.00 |
|9602005926494 |100MB |25.44 |
|9602005926494 |Basic Data 9600 |0.00 |
|9602005926494 |Basic Telephony |4.39 |
|9602005926494 |Ebilling - Corporate CD Extract |0.00 |
|9602005926494 |Unrestricted APN |0.00 |
|9602005926509 |Basic Data 9600 |0.00 |
|9602005926509 |Basic Telephony |4.39 |
|9602005926509 |Ebilling - Corporate CD Extract |0.00 |
|9602005926509 |My Meg 0 |0.00 |
|9602005926509 |Unrestricted APN |0.00 |
|9602005926524 |100MB |25.44 |
|9602005926524 |Basic Data 9600 |0.00 |
|9602005926524 |Basic Telephony |4.39 |
|9602005926524 |Ebilling - Corporate CD Extract |0.00 |
|9602005926524 |Unrestricted APN |0.00 |
|9602005926539 |100MB |25.44 |
|9602005926539 |Basic Data 9600 |0.00 |
|9602005926539 |Basic Telephony |6.58 |
|9602005926539 |Ebilling - Corporate CD Extract |0.00 |
|9602005926539 |Unrestricted APN |0.00 |
|9602006330948 |Basic Data 9600 |0.00 |
|9602006330948 |Basic Telephony |4.39 |
|9602006330948 |Caller Identity FREE |0.00 |
|9602006330948 |Ebilling - Corporate CD Extract |0.00 |
|9602006330948 |My Meg 0 |0.00 |
|9602006330948 |Promotional My Gig 1 - 24 Months |0.00 |
|9602006330948 |SMS Mobile Originating |0.00 |
|9602006330948 |Unrestricted APN |0.00 |
|9602006330950 |Basic Data 9600 |0.00 |
|9602006330950 |Basic Telephony |4.39 |
|9602006330950 |Caller Identity FREE |0.00 |
|9602006330950 |Ebilling - Corporate CD Extract |0.00 |
|9602006330950 |My Meg 0 |0.00 |
|9602006330950 |Promotional My Gig 1 - 24 Months |0.00 |
|9602006330950 |SMS Mobile Originating |0.00 |
|9602006330950 |Unrestricted APN |0.00 |
|---------------|----------------------------------|----------|
Combined_table 的外观示例。
|MSISDN |Abar Date |Upgrd |Pack |Code Tariff |Avg Spend |SIM Number |100MB |Basic Data 9600 |Basic Telephony |Caller Identity FREE |Ebilling - Corporate CD Extract |My Meg 0 |Promotional My Gig 1 - 24 Months |SMS Mobile Originating |Unrestricted APN |
|9602005689344 |18-Mar-15 |Y |MDA |Machine2Machine Data |32.56 |89490000000000001215 |25.44 |0.00 |6.58 |0.00 |0.00 |0.00 |0.00 |0.00 |0.00 |
|9602005926494 |06-Feb-15 |Y |MLT |Machine2Machine Lite |27.38 |89490000000000004457 |25.44 |0.00 |4.39 |0.00 |0.00 |0.00 |0.00 |0.00 |0.00 |
|9602005926509 |06-Feb-15 |Y |MLT |Machine2Machine Lite |10.10 |89490000000000045677 |0.00 |0.00 |4.39 |0.00 |0.00 |0.00 |0.00 |0.00 |0.00 |
|9602005926524 |06-Feb-15 |Y |MLT |Machine2Machine Lite |31.77 |89490000000000002887 |25.44 |0.00 |4.39 |0.00 |0.00 |0.00 |0.00 |0.00 |0.00 |
|9602005926539 |18-Mar-15 |Y |MDA |Machine2Machine Data |32.36 |89490000000000100212 |25.44 |0.00 |6.58 |0.00 |0.00 |0.00 |0.00 |0.00 |0.00 |
|9602006330948 |11-Mar-16 |N |MLT |Machine2Machine Lite |4.39 |89460000000015600111 |0.00 |0.00 |4.39 |0.00 |0.00 |0.00 |0.00 |0.00 |0.00 |
|9602006330950 |11-Mar-16 |N |MLT |Machine2Machine Lite |4.39 |89940000000000426577 |0.00 |0.00 |4.39 |0.00 |0.00 |0.00 |0.00 |0.00 |0.00 |
我不知道如何使用 PHP 创建表。 我想过执行一个 MySQL 请求来创建和添加数据,但不知道如何开始。
任何建议都会很有帮助。
【问题讨论】:
-
如果这是一个 MySQL 问题,你为什么还要用微软的“SQL Server”来标记它?标记一个或另一个。不要同时标记两者。
-
将这样的数据复制到第二个表中通常是个坏主意。它可能是一种更好的方法来创建一个以它想要的方式组合数据的视图。这样一来,只有数据的副本,您不必担心保持所有表同步。