选择多个表MySQL

时间:2015-01-11 18:20:32

标签: c++ mysql

我使用 MySQL连接器C 6.0.2 ,我需要选择Table1并读取一些值然后切换到table2并在那里读取值等等,我有两个以上表我需要从表切换到表。我怎样才能做到这一点 ?

示例代码:

connect=mysql_real_connect(connect,SERVER,USER,PASSWORD,DATABASE,0,NULL,0);
if(connect)
{
    MYSQL_RES *res_set; 
    MYSQL_ROW row;
    ////table1 
    mysql_query(connect,"SELECT * FROM `Table1` WHERE `Column2`='1234'");
    unsigned int i = 0; 

    res_set = mysql_store_result(connect);

    unsigned int numrows = mysql_num_rows(res_set); 
    if(numrows==0)
    {
        return false;
    }else
    {
        while ((row = mysql_fetch_row(res_set)) != NULL)
        {   
            if(strcmp(row[2], "true")==NULL)
            {/////////Here I need to read or get the values from Table2
                ///Select table two

            }else
                return false;
        }
    }
}

更新:我想我已经解决了,非常简单

connect=mysql_real_connect(connect,SERVER,USER,PASSWORD,DATABASE,0,NULL,0);
if(connect)
{
    MYSQL_RES *res_set; 
    MYSQL_ROW row;
    ////table1 
    mysql_query(connect,"SELECT * FROM `Table1` WHERE `Column2`='1234'");


    res_set = mysql_store_result(connect);

    unsigned int numrows = mysql_num_rows(res_set); 
    if(numrows==0)
    {
        return false;
    }else
    {
        while ((row = mysql_fetch_row(res_set)) != NULL)
        {   
            if(strcmp(row[2], "true")==NULL)
            {/////////Here I need to read or get the values from Table2
                ///Select table two
                MYSQL_RES *res_set2; 

                ////table2 
               mysql_query(connect,"SELECT * FROM `Table2` WHERE `Column2`='1234'");


               res_set2 = mysql_store_result(connect);

              unsigned int numrows2 = mysql_num_rows(res_set2); 
              if(numrows2==0)
              {
                 //no result
              }else
              {
                 //do something
              }
            }else
                return false;
        }
    }
}

2 个答案:

答案 0 :(得分:0)

您拥有从查询中获得的res_set变量;您从第二个查询中获取另一个变量。您不必在表之间切换,只需从正确的查询结果中获取正确的值。

另请注意,这听起来很像您应该在SQL查询中执行此操作,而不是在代码内部,但这完全取决于您要执行的操作。

答案 1 :(得分:0)

我建议您使用SQL语句从两个表中返回结果集。

研究" SELECT JOIN"声明。

经验法则是让数据执行大部分数据库工作,包括搜索多个表。