将表排序到新表中

时间:2018-03-08 11:35:21

标签: php mysql

我一直在努力想出这个问题,所以决定转过来。

我目前有一个拥有大量行的数据库,但作为一个例子,它如下所示:

 ___________________________________
|  column1  |  column2  |  column3  |
|-----------------------------------|
| 123       |     UK    | answeruk1 |
| 321       |     UK    | answeruk3 |
| 111       |     EN    | answeren2 |
| 321       |     EN    | answeren3 |
| 111       |     FR    | answerfr2 |
| 123       |     FR    | answerfr1 |
| 111       |     UK    | answeruk2 |
| 321       |     FR    | answerfr3 |
| 123       |     EN    | answeren1 |

我试图将其插入到新表中,因此结构如下所示:

 _______________________________________________
|  column1  |  column2  |  column3  |  column4  |
|-----------|-----------|-----------|-----------|
| 123       | answerfr1 | answeruk1 | answeren1 |
| 321       | answerfr3 | answeruk3 | answeren3 |
| 111       | answerfr2 | answeruk2 | answeren2 |

这是因为它们都是由column1组织的,但是列在第2列中的相应国家/地区代码的列中

我尝试过使用INSERT INTO,但我似乎无法理解如何使用1个查询同时对3列进行排序。还有一吨(大约15,000-20,000)的id(在第1栏中找到的数字)。

我也尝试过使用PHP,我认为这可能是在while语句中循环遍历所有id的唯一方法吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以按查询使用组,并在一个命令中执行数据库透视:

    if (isset($_POST['submit']))

    {
            $email = $_POST['email'];

            $check=mysqli_query($conn, "SELECT * FROM students WHERE stud_email = '$email'");
            $checkrows=mysqli_num_rows($check);

           if($checkrows>0) {
              echo '<script>alert("Student email already exists")</script>';
           } else {