当前位置: 首页 > 面试题库 >

如何通过按异物字段的值进行选择来构建查询

都才俊
2023-03-14
问题内容

使用异物字段的值进行查询的最佳方法是什么?

假设我有这三个课程。

描述单元数量的UnitResult类:

@DatabaseTable
public class UnitResult {
    public static final String ID_FIELD_NAME = "id";
    public static final String UNIT_COLUMN_NAME = "unit";
    public static final String RESULT_COLUMN_NAME = "result";

    @DatabaseField(generatedId = true, columnName = ID_FIELD_NAME)
    public Integer id;

    @DatabaseField(foreign = true, canBeNull = false, columnName = UNIT_COLUMN_NAME)
    public Unit unit;

    @DatabaseField(canBeNull = true, columnName = RESULT_COLUMN_NAME)
    public Integer result = null;
}

描述市场中某些单位的单位类别(例如,酒汁,小吃等):

@DatabaseTable
public class Unit {
    public static final String ID_FIELD_NAME = "id";
    public static final String TYPE_FIELD_NAME = "type";

    @DatabaseField(id = true, columnName = ID_FIELD_NAME)
    public int id;

    @DatabaseField(canBeNull = false, columnName = TYPE_FIELD_NAME)
    public UnitType type;
}

和单位类型的枚举:

public enum UnitType {
    JUICES,
    DRINKS,
    SNACKS,
    NPD;
}

那么,如何可以查询所有UnitResult地方Unit的类型是UnitType.JUICES


问题答案:

那么,如何查询单位类型为UnitType.JUICES的所有UnitResult?

在ORMLite中执行此操作的方法是对子查询使用`Where.in(…):

// setup our sub-query on the Unit table first
QueryBuilder<Unit,Integer> uQb = unitDao.queryBuilder();
uQb.where().eq(Unit.TYPE_FIELD_NAME, UnitType.JUICES);
// outer query on UnitResult table
QueryBuilder<UnitResult,Integer> urQb = unitResultDao.queryBuilder();
// in using the sub-query
urQb.where().in(UnitResult.UNIT_COLUMN_NAME, uQb);
List<UnitResult> results = urQb.query();


 类似资料:
  • 我有一个csv,它具有以下结构:

  • 问题内容: 我希望能够查询文本,但也只能检索数据中某个整数字段的最大值的结果。我已经阅读了有关聚合和过滤器的文档,但我不太清楚自己在寻找什么。 例如,我有一些重复的数据得到索引,除了整数字段外,这些数据都是相同的-我们称这个字段为。 因此,作为示例,给定将这些数据放入elasticsearch中: 如果我查询 我会得到4个结果。我想要一个过滤器,这样我只能得到两个结果-仅包含具有最大字段的项目。

  • 场景:登录www.makemytrip.com-->单击“我的帐户”链接-->单击“配置文件”选项-->弹出“个人信息” 我不能使用Select,因为它不是类型下拉列表。好心的建议,我可以如何编码选择不同的值从类型按钮的标题字段。

  • 问题内容: 我似乎找不到或编写一个选择默认值的sqlquery (我不认为我可以在phpmyadmin中生成它供我复制) 我试图选择它,就好像它是一条记录,但无济于事… 问题答案: 或者我认为更好: 更新-更正 正如@Jeff Caron所指出的,只有在中至少有1行时,上述内容才有效。如果即使分组表没有行也要得到结果,则可以使用以下命令:

  • 问题内容: 如何更新子查询中也存在的表?我必须分两个阶段进行吗?(创建一个临时表-将选定的数据放入其中,然后更新最终表) 我正在尝试使用每个CTN的网络标签更新invoiceLine表。 最终结果将是: invoiceLine 我有以下表格: invoiceLine ctn network 1234 null 2345 null 3456 null terminal ctn network 123

  • 问题内容: 我正在尝试检索字段中所有唯一值的计数。 示例SQL: 如何在CodeIgniter内部进行这种查询? 我知道我可以使用,并编写自己的SQL查询,但是我还有其他要求。如果我使用,我必须自己编写整个查询。 问题答案: 然后 应该走很长的路要走。