php - 比较两个表并将结果存储在第三个表中

时间:2016-02-11 20:22:56

标签: php mysql sql database mysqli

我的数据库中有两个表。

我想将email的{​​{1}}的每一行与table-1 email2的每一行进行比较,如果它们的内容匹配,那么我想存储table-2 1 {}} mac table-1 Mac

这是table-1

Result table

这是表-2

Email    Mac
value1 21321
value2 45666

这是结果表

Name   email2
name1  xyyxas
name2  xxxxxx

我在这里完全不合逻辑我尝试加入查询,但它们似乎并不适合我的情况。

我很清楚之前会问过类似的问题,但这些问题都不像我的问题,或者已经完整答案,这就是为什么我要求

3 个答案:

答案 0 :(得分:1)

您可以使用带内连接的插入选择

insert into result_table (mac)
select table1.mac from table1 
inner join table2 on table1.email = table2.email 

答案 1 :(得分:0)

试试这个

Backendless.Persistence.of(Tasks.class).find(
        new AsyncCallback<BackendlessCollection<Tasks>>() {
            @Override
            public void handleResponse(BackendlessCollection<Tasks> tc) {
                List<Tasks> tasks = tc.getData();
                Log.d("ToDo", "Retrieved " + tasks.size() + " tasks");

                LinearLayout taskList = (LinearLayout) findViewById(R.id.taskList);
                //repeat for each task in list of tasks
                for (Tasks task :tasks) {
                    //retrieve task text form object and log it
                    String taskText = task.getTask();
                    Log.d("ToDo", taskText);

                    //create new text view and set task text
                    TextView textView = new TextView(getApplicationContext());
                    textView.setText(taskText);

                    //add text view to linear layout
                    taskList.addView(textView);
                }
            } // handleResponse()

            @Override
            public void handleFault(BackendlessFault e) {
                Log.d("ToDo", "Error: " + e.getMessage());
            }
        });

请参阅以下链接了解内部加入及其工作原理

http://www.w3schools.com/sql/sql_join_inner.asp

以下图片表示JOIN的工作原理。

enter image description here

答案 2 :(得分:0)

这很简单。首先,您使用公共列加入表格,在您的情况下是email列。加入后,您需要收集所需的数据,例如表格1中的mac列。您可以insert将其填入表格3.这是我的方法:

INSERT INTO tbl3(mac) 
SELECT t1.mac 
FROM tbl1 AS t1
JOIN tbl2 AS t2
ON t1.email = t2.email