我在两个不同的数据库中有两个不同的表..
我想要做的是检查另一个表中是否存在两列的数据..如果它确实存在则计算它,并且在最后我想要在另一个表中匹配的记录数。
示例:
table_1
column_1 value =" dog"
column_2 value =" apple"
table_2
column_1 value =" dog"
column_2 value =" orange"
所以这里两个表中都存在第一列值,但第二列不同,所以我不想计算它...我想计算同一记录中两个值存在的位置。
ps:column_1和column_2都不是主键
是否有使用MySQL的解决方案?因为我用java来解决这个问题,但需要很长时间才能获得500万条记录。
答案 0 :(得分:1)
在两个表上执行@property (nonatomic, strong) RLMResults *items;
@property (nonatomic, strong) RLMNotificationToken *token;
// ---
self.items = [TERMessage objectsWhere:@"conversationID == %@", self.model.serverID];
self.token = [self.items addNotificationBlock:^...];
// ---
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.items.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
TERMessage *message = self.items[indexPath.row];
UITableViewCell *cell = ...; //configure cell
return cell;
}
:
INNER JOIN
答案 1 :(得分:1)
如果我正确理解您,可以选择使用exists
:
select *
from table1 t1
where exists (
select 1
from table2 t2
where t1.column1 = t2.column1 and
t1.column2 = t2.column2
)
这将返回第一个表中的行列表,这些行在第二个表中具有相应的匹配行。