Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.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
Phoenix中不支持SQL Intersect,Phoenix中是否支持Intersect?_Sql_Hbase_Phoenix_Intersect - Fatal编程技术网

Phoenix中不支持SQL Intersect,Phoenix中是否支持Intersect?

Phoenix中不支持SQL Intersect,Phoenix中是否支持Intersect?,sql,hbase,phoenix,intersect,Sql,Hbase,Phoenix,Intersect,我有以下SQL表达式: SELECT SS_ITEM_SK AS POP_ITEM_SK FROM (SELECT SS_ITEM_SK FROM (SELECT SS_ITEM_SK,(ITEM_SOLD-ITEM_RETURNED) AS TOT_SOLD_QTY FROM (SELECT SS_ITEM_SK,COUNT(SS_ITEM_SK) AS ITEM_SOLD,COUNT(SR_ITEM_SK) AS ITEM_RETURNED FROM STORE_SALES1 right

我有以下SQL表达式:

SELECT SS_ITEM_SK AS POP_ITEM_SK 
FROM (SELECT SS_ITEM_SK 
FROM (SELECT SS_ITEM_SK,(ITEM_SOLD-ITEM_RETURNED) AS TOT_SOLD_QTY FROM (SELECT SS_ITEM_SK,COUNT(SS_ITEM_SK) AS ITEM_SOLD,COUNT(SR_ITEM_SK) AS ITEM_RETURNED FROM STORE_SALES1 right outer join STORE_RETURNS1 on SS_TICKET_NUMBER = SR_TICKET_NUMBER AND SS_ITEM_SK = SR_ITEM_SK GROUP BY SS_ITEM_SK)))  

INTERSECT 

SELECT CS_ITEM_SK AS POP_ITEM_SK FROM (SELECT CS_ITEM_SK
FROM (SELECT CS_ITEM_SK,(ITEM_SOLD-ITEM_RETURNED) AS TOT_SOLD_QTY FROM (SELECT CS_ITEM_SK,COUNT(CS_ITEM_SK) AS ITEM_SOLD,COUNT(CR_ITEM_SK) AS ITEM_RETURNED FROM CATALOG_SALES1 right outer join CATALOG_RETURNS1 on CS_ORDER_NUMBER = CR_ORDER_NUMBER and CS_ITEM_SK = CR_ITEM_SK  GROUP BY CS_ITEM_SK))) 

INTERSECT 

SELECT WS_ITEM_SK AS POP_ITEM_SK FROM (SELECT WS_ITEM_SK
FROM (SELECT WS_ITEM_SK,(ITEM_SOLD-ITEM_RETURNED) AS TOT_SOLD_QTY FROM (SELECT WS_ITEM_SK,COUNT(WS_ITEM_SK) AS ITEM_SOLD,COUNT(WR_ITEM_SK) AS ITEM_RETURNED FROM WEB_SALES1 right outer join WEB_RETURNS1 on WS_ORDER_NUMBER = WR_ORDER_NUMBER AND WS_ITEM_SK = WR_ITEM_SK GROUP BY WS_ITEM_SK))) 

Apache phoenix不支持关键字
INTERSECT
。有人能帮我更正上述问题而不使用
INTERSECT

我认为有多种方法可以做到这一点:

  • 联接方法

    select * from ((query1 inner join query2 on column_names) inner join query3 on column_names) 
    
  • 存在方法

    (query1 where exists (query2 where exists (query3)) )
    
  • 方法

    (query1 where column_name in (query2 where column_name in (query3)) )
    
  • 参考资料: 及

    虽然我会在连接上使用exists/in,因为如果这些查询返回大量数据,那么您可能必须使用以下方法优化查询:

    非常感谢,我得到了即时响应,我尝试了第二个选项,使用exists,但在phoenix中获取NullPointerException。你能帮个忙吗?嗯,我们确定第三个查询确实运行了吗?为什么不将这三个查询分开,并确保第三个查询运行。如果可能的话,你能给我你的CREATETABLE语句吗?这样我就可以测试你正在运行的东西,并给你你需要的确切命令。请告诉我你的邮件id?我将直接发送u脚本。nishair05@gmail.com