2015-10-06 57 views
0

payment的链接的属性值具有如图FK{exchange_order_id}exchange_order id和payment_info具有如FK{payment_id}payment的ID。所以,payment_infoexchange_order没有任何共享属性,但我需要从他们的数据,这就是为什么我试图通过付款表中查询它们是唯一的链接中间。从2个表选择数据与第三表

我想拉记录一段时间,因此我不知道payment.id属性。

我得到错误near 'FROM exchange_order eo, payment_info pi JOIN payment p ON p.exchange_order_id = ' at line 6

SELECT 
eo.amount_proposed as proposed, 
eo.amount_realized as realized, 
pi.local_fee as fee, 
pi.local_market_rate as market_rate, 
    FROM exchange_order eo, payment_info pi 
JOIN payment p ON p.exchange_order_id = eo.id 
JOIN payment_info ON p.id = pi.payment_id 
WHERE create_time >= UNIX_TIMESTAMP('2015-09-01') AND create_time < UNIX_TIMESTAMP('2015-10-01') 

回答

1

更新:第一个删除多余的,之后pi.local_market_rate as market_rate从select语句即错误的主要原因。

SELECT 
eo.amount_proposed as proposed, 
eo.amount_realized as realized, 
pi.local_fee as fee, 
pi.local_market_rate as market_rate 
    FROM exchange_order eo 
JOIN payment p ON p.exchange_order_id = eo.id 
JOIN payment_info pi ON p.id = pi.payment_id 
WHERE create_time >= UNIX_TIMESTAMP('2015-09-01') AND create_time < UNIX_TIMESTAMP('2015-10-01') 
+0

仍然是一样的错误:\ – Milkncookiez

+0

是的,我只是简单地复制你的解决方案,以确保我不会再错误的东西。仍然不起作用。 – Milkncookiez

+0

pi.local_market_rate作为market_rate后,有一个逗号只是从你的sql或在我更新的一个中删除和运行。 –

0

你在这一行有两个表名之间用逗号:

 FROM exchange_order eo, payment_info pi 

你不需要与ON子句一个JOIN某种某种?

0

你不能写这样的,如果你写

exchange_order eo, payment_info pi 
JOIN payment p 

为sql它不能知道你的意思是

(exchange_order eo, payment_info pi) 
JOIN payment p 

exchange_order eo, (payment_info pi 
JOIN payment p) 

我敢肯定你不能使用逗号和连接在SQL中相同的FROM。

相关问题