【问题标题】:show record in between field in mysql not using sub query在mysql中的字段之间显示记录不使用子查询
【发布时间】:2016-05-27 02:52:23
【问题描述】:

如果 acct_no 相同,我希望字段 nilai_kredit 位于提交的 nilai_kredit 之间,但我不想使用子查询,因为速度很慢

SELECT
  a.acct_no,
  IF (a.kode = 'D', SUM(a.nilai), 0) AS nilai_debet,
  IF (a.kode = 'K', SUM(a.nilai), 0) AS nilai_kredit 
FROM
  tr2015 a
INNER JOIN acct2015 b
  ON a.acct_no = b.acct_no AND b.sub='AP'
WHERE a.tgl LIKE '2015-01%'AND a.hps <> '*'
GROUP BY a.acct_no,a.kode

this is my result

【问题讨论】:

  • GROUP BY 中删除a.kode 然后

标签: mysql join inner-join


【解决方案1】:
SELECT
  a.acct_no,
  SUM(IF(a.kode = 'D', a.nilai, 0)) AS nilai_debet,
  SUM(IF(a.kode = 'K', a.nilai, 0)) AS nilai_kredit 
FROM
  tr2015 a
INNER JOIN acct2015 b
  ON a.acct_no = b.acct_no AND b.sub='AP'
WHERE a.tgl LIKE '2015-01%'AND a.hps <> '*'
GROUP BY a.acct_no

【讨论】:

  • [Err] 1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的 'AS nilai_debet, SUM(IF (a.kode = 'K', a.nilai, 0) AS nilai_kredit FROM tr' 附近使用正确的语法
猜你喜欢
  • 2019-01-13
  • 2019-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多