INNER JOIN查询无效

时间:2015-06-15 02:01:55

标签: ios sqlite

我在两个表上使用INNERJOIN查询,命名为EMPLOYEE&部门。 存在一个共同的empID(1234),它在两个表中都很常见,我想使用连接查询从两个表中获取数据。不要工作。以下是我的代码:

NSString *querySQL = [NSString stringWithFormat:
@"Select EMPLOYEE.* from EMPLOYEE   INNER JOIN  DEPARTMENT ON  EMPLOYEE.empID = DEPARTMENT.empID =%@",_txtfind.text];

        NSLog(@"fetch query is%@",querySQL);

        const char *query_stmt = [querySQL UTF8String];

        if (sqlite3_prepare_v2(database,
        query_stmt, -1, &statement, NULL) == SQLITE_OK)
        {
             if(sqlite3_step(statement) == SQLITE_ROW)
            {
                NSString *name = [[NSString alloc] initWithUTF8String:
               (const char *) sqlite3_column_text(statement, 0)];
                [resultArray addObject:name];
                NSString *department = [[NSString alloc]   initWithUTF8String:(const char *) sqlite3_column_text(statement, 1)];
                [resultArray addObject:department];
                NSString *year = [[NSString alloc]initWithUTF8String:
                (const char *) sqlite3_column_text(statement, 2)];
                [resultArray addObject:year];
                NSLog(@"result array is %@",resultArray);


            }
           else{
               NSLog(@"Not found");
                    }
            sqlite3_reset(statement);
        }

它总是会转向其他部分并显示" Not Found"。 难道我做错了什么?我的加入查询是对的吗?我是新手加入概念所以请帮助我,您的想法非常受欢迎。

1 个答案:

答案 0 :(得分:1)

这是您的查询,直到on子句结束时我才明白:

Select EMPLOYEE.*
from EMPLOYEE INNER JOIN 
     DEPARTMENT
     ON EMPLOYEE.empID = DEPARTMENT.empID =%@",_txtfind.text];

也许你想要某种where条款?

Select e.*, d.col1, d.col2, . . .
from EMPLOYEE e INNER JOIN 
     DEPARTMENT d
     ON e.empID = d.empID
where e.empId = 'txtfind.text';  -- something like this

在任何情况下,如果这没有用,那么编辑你的问题并在变量替换后显示SQL查询。