【问题标题】:why result not same in postgresql and text editor?为什么在 postgresql 和文本编辑器中结果不一样?
【发布时间】:2017-11-22 03:15:58
【问题描述】:

我在 postgresql 中有查询并得到结果,但是当实现到文本编辑器时,我得到这样的错误:

语法错误,意外标记(,靠近 'SelOrdersdetil d INNER JOIN SelOrders p USING (o_kode)) INNER JOIN SelMmenu m USING(sel_mmenu_id) GROUP BY d.sel_mmenu_id, m.nama, m.olahan LIMIT 30',当解析:SELECT d.sel_mmenu_id, m.nama, m.olahan, sum(d.od_qty) AS qty, sum(d.od_jmlhrg) ASnominal FROM (SelOrdersdetil d INNER JOIN SelOrders p USING (o_kode)) INNER JOIN SelMmenu m USING (sel_mmenu_id) GROUP BY d.sel_mmenu_id, m.nama, m.olahan LIMIT 30 (269)

如何修复,我使用 phalcon 和我的代码:

 SELECT d.sel_mmenu_id, m.nama, m.olahan, sum(d.od_qty) AS qty, 
sum(d.od_jmlhrg) AS nominal FROM (sel_ordersdetil d
 INNER JOIN sel_orders p USING (o_kode))`
INNER JOIN sel_mmenu m USING(sel_mmenu_id)  
GROUP BY d.sel_mmenu_id, m.nama, m.olahan LIMIT 30

谢谢

【问题讨论】:

  • 我认为杂散的反引号是一个错字。
  • 不,我只是在这里使用反引号。

标签: php postgresql phalcon


【解决方案1】:

FROM 子句中不需要括号:

SELECT d.sel_mmenu_id, m.nama, m.olahan, sum(d.od_qty) AS qty, 
       sum(d.od_jmlhrg) AS nominal
FROM sel_ordersdetil d INNER JOIN
     sel_orders p
     USING (o_kode) INNER JOIN
     sel_mmenu m
     USING (sel_mmenu_id)  
GROUP BY d.sel_mmenu_id, m.nama, m.olahan
LIMIT 30;

不过,老实说,我希望查询可以使用括号。

另外,使用LIMIT 而不使用ORDER BY 是危险的。你应该包括一个ORDER BY。

【讨论】:

  • 是的,我已经去掉了括号但是错误和不同的错误,
  • 语法错误,意外标记使用,靠近' (o_kode) INNER JOIN sel_mmenu m USING (sel_mmenu_id) GROUP BY d.sel_mmenu_id, m.nama, m.olahan LIMIT 30',解析时:SELECT d.sel_mmenu_id, m.nama, m.olahan, sum(d.od_qty) AS 数量, sum(d.od_jmlhrg) AS 标称 FROM sel_ordersdetil d INNER JOIN sel_orders p USING (o_kode) INNER JOIN sel_mmenu m USING (sel_mmenu_id) GROUP BY d.sel_mmenu_id, m.nama, m.olahan LIMIT 30 (292)
  • @jazuli_18 。 . . Postgres 至少从版本 8.0 (postgresql.org/docs/8.0/static/queries-table-expressions.html) 开始支持 using。
  • 是的,但是 PHQL != postgresql,它没有 1:1 的语法。
猜你喜欢
  • 2015-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-13
  • 2011-07-18
  • 2016-10-14
  • 1970-01-01
相关资源
最近更新 更多