#251·lovefield

发现了 groupBy 子句中的一个错误

作者: tim-tai创建于 2019年3月25日更新于 2019年3月27日

我在尝试创建一个查询时发现了这个问题,该查询将返回一个任务列表。以下是查询语句:JavaScript var query = db.select(task.id, task.note, ). from(item). innerJoin(task, task.id.eq(item.task_id)). where(item.auditor_id.eq(123)). groupBy(item.task_id); 以下是任务(主表)和项目(详细表)的示例数据。JavaScript var task_data = [{ 'id': 1, 'initiator_id': 1, 'schedule_id': 1, 'status': 0, 'description': 'Task Example A' }, { 'id': 2, 'initiator_id': 2, 'schedule_id': 2, 'status': 0, 'description': 'Task Example B' }];

var item_data = [{ 'id': 1, 'task_id': 1, 'auditor_id': 123, 'tag_id': 1, 'asset_name': 'Item A', 'asset_type_name': 'Type A', 'description': 'example A' }, { 'id': 2, 'task_id': 1, 'auditor_id': 123, 'tag_id': 2, 'asset_name': 'Item B', 'asset_type_name': 'Type B', 'description': 'example B' } /,{ 'id': 3, 'task_id': 2, 'auditor_id': 123, 'tag_id': 3, 'asset_name': 'Item C', 'asset_type_name': 'Type C', 'description': 'example C' }/ ]; 因此,使用上面的示例数据,查询应该只返回一个任务 ID(1)和描述(example A),但却返回了两次。添加第三行数据(注释)后,结果才会正确,即返回两个任务 ID(1, 2)和两个描述(example A, example B)。以下是示例: jsfiddle

内容来源: google/lovefield