选择多个表MySQL

Selecting multiple tables MySQL

本文关键字:MySQL 选择      更新时间:2023-10-16

>我正在使用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;
        }
    }
}
你有从

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

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

我建议你使用你的SQL语句来返回两个表的结果集。

研究"选择加入"语句。

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