我无法使用下面的HIVE查询传递相等性检查.
我有3个表,我想加入这些表.我尝试如下,但得到错误:
FAILED:语义分析出错:第3:40行在JOIN'visit_date'中遇到左右别名
select t1.*, t99.* from table1 t1 JOIN
(select v3.*, t3.* from table2 v3 JOIN table3 t3 ON
( v3.AS_upc= t3.upc_no AND v3.start_dt <= t3.visit_date AND v3.end_dt >= t3.visit_date AND v3.adv_price <= t3.comp_price ) ) t99 ON
(t1.comp_store_id = t99.cpnumber AND t1.AS_store_nbr = t99.store_no);
Run Code Online (Sandbox Code Playgroud)
基于FuzzyTree的帮助编辑:
第一名:
我们尝试使用between和where子句编辑上面的查询,但是没有从查询中获取任何输出.
但是如果我们通过删除带有date的between子句来改变上面的查询,那么我得到了一些基于"v3.adv_price <= t3.comp_price"的输出,但没有使用"date filter".
select t1.*, t99.* from table1 t1 JOIN
(select v3.*, t3.* from table2 v3 JOIN table3 t3 on (v3.AS_upc= t3.upc_no)
where v3.adv_price <= t3.comp_price
) t99 ON
(t1.comp_store_id …Run Code Online (Sandbox Code Playgroud) 这是使用neo4j创建内存数据库的正确方法吗?因此,遍历查询将仅访问缓存而不是磁盘.
方法 - 1:我试过这个:
package com.test;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
import org.neo4j.kernel.impl.util.FileUtils;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class CreateDBFactory {
private static GraphDatabaseService graphDb = null;
public static final String DB = "test/db";
public static GraphDatabaseService createInMemoryDB() {
System.out.println("- Inside createInMemoryDB() - ");
if (null == graphDb) {
synchronized (GraphDatabaseService.class) {
if (null == graphDb) {
System.out.println(" - Inside if clause -");
final Map<String, String> config = new HashMap<>();
config.put("neostore.nodestore.db.mapped_memory", "50M");
config.put("string_block_size", "60");
config.put("array_block_size", "300"); …Run Code Online (Sandbox Code Playgroud)