我正在尝试在Hive中的两个表之间进行简单的内连接。我有一个订单表,另一个是日志表。这是两者的结构:
订单:
id_operacion string
fecha string
id_usuario string
id_producto string
unidades int
id_bono string
precio float
precio_total float
ip string日志:
host STRING
identity STRING
user STRING
time STRING
request STRING
status STRING
size STRING
referer STRING
agent STRINGorder表中并不是所有的'ip‘都有值,其中一些是空的。
我想要获取值order.id_usuario,order.id_producto,logs.host,logs.agent。在这种情况下order.ip=log.host。
我正在尝试这个查询:
SELECT order.id_producto,order.id_usuario,log.host,log.agent
FROM order JOIN log ON order.ip=log.host;我不知道为什么,但查询会返回日志表中的所有代理,而不仅仅是那些与两个表的IP地址相匹配的代理。
我希望我已经很好地解释了这个问题。有什么想法吗?
发布于 2014-04-24 20:08:42
这听起来像是连接的问题。这可能与空值有关。也可以是表中的数据。尝尝这个?
SELECT order.id_producto,order.id_usuario,log.host,log.agent
FROM order
JOIN log ON order.ip=log.host
WHERE order.ip is not nullhttps://stackoverflow.com/questions/23267874
复制相似问题