Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 同一个表上的内部联接_Java_Sql Server_Orm_Ebean_Playframework 2.6 - Fatal编程技术网

Java 同一个表上的内部联接

Java 同一个表上的内部联接,java,sql-server,orm,ebean,playframework-2.6,Java,Sql Server,Orm,Ebean,Playframework 2.6,我需要在同一个表上执行内部联接。下面是我当前执行的原始查询 String tagValueRowsSQL = "SELECT itv1.ItemTagValueID,itv1.FkItemID," + "itv1.FkTagID,itv1.TagIndex,itv1.ValueIndex,itv1.Value,itv1.LastUpdateDateTime" + " FROM tag.ItemTagValue itv1" +

我需要在同一个表上执行内部联接。下面是我当前执行的原始查询

String tagValueRowsSQL = "SELECT itv1.ItemTagValueID,itv1.FkItemID," +
            "itv1.FkTagID,itv1.TagIndex,itv1.ValueIndex,itv1.Value,itv1.LastUpdateDateTime" +
            " FROM tag.ItemTagValue itv1" +
            " INNER JOIN tag.ItemTagValue itv2" +
            " on itv1.fkTagID=" + tagIDsAndValues.get(LOCATION_STORE_CONFIG_TAG_NAME).getTagID() +
            " and itv1.Value=" + storeId +
            " and itv2.fkTagID = " + tagIDsAndValues.get(SENSOR_TYPE_TAG_NAME).getTagID() +
            " and itv2.Value=" + sensorType;
    RawSql rawSqlForSensorsInStoreAndOfType = RawSqlBuilder.parse(tagValueRowsSQL)
            .columnMapping("itv1.ItemTagValueID", "ItemTagValueID")
            .columnMapping("itv1.FkItemID", "FkItemID")
            .columnMapping("itv1.FkTagID", "FkTagID")
            .columnMapping("itv1.TagIndex", "TagIndex")
            .columnMapping("itv1.ValueIndex", "ValueIndex")
            .columnMapping("itv1.Value", "Value")
            .columnMapping("itv1.LastUpdateDateTime", "LastUpdateDateTime")
            .create();
    Query<ItemTagValueModel> query = Ebean.find(ItemTagValueModel.class);
    List<ItemTagValueModel> sensorsTagValueData = query.setRawSql(rawSqlForSensorsInStoreAndOfType).findList();
String tagvaluerowsql=“选择itv1.ItemTagValueID,itv1.FkItemID,”+
“itv1.FkTagID,itv1.TagIndex,itv1.ValueIndex,itv1.Value,itv1.LastUpdateDateTime”+
“从tag.ItemTagValue itv1”+
“内部联接标记。ItemTagValue itv2”+
“在itv1.fkTagID=“+tagIDsAndValues.get(LOCATION\u STORE\u CONFIG\u TAG\u NAME).getTagID()+
“和itv1.Value=“+storeId+
“和itv2.fkTagID=“+tagIDsAndValues.get(传感器类型标记名称).getTagID()+
“和itv2.Value=“+传感器类型;
RawSql RawSqlForSensorInstandOfType=RawSqlBuilder.parse(TagValueRowSql)
.columnMapping(“itv1.ItemTagValueID”、“ItemTagValueID”)
.columnMapping(“itv1.FkItemID”、“FkItemID”)
.columnMapping(“itv1.FkTagID”,“FkTagID”)
.columnMapping(“itv1.TagIndex”、“TagIndex”)
.columnMapping(“itv1.ValueIndex”、“ValueIndex”)
.columnMapping(“itv1.Value”、“Value”)
.columnMapping(“itv1.LastUpdateDateTime”、“LastUpdateDateTime”)
.create();
Query=Ebean.find(ItemTagValueModel.class);
List sensorsTagValueData=query.setRawSql(RawSqlForSensorInstoreAndOfType).findList();
使用RawSQL执行上述操作似乎相当笨拙。如何在不使用RawSQL的情况下执行上述操作?我检查了这个问题,但我不知道如何将这个答案应用到我的情况。任何帮助都将不胜感激