Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kết quả khác nhau trong SQL fiddle và trong máy chủ MySQL / PhpMyadmin

Tôi không biết tại sao SQL Fiddle lại khác với kết quả thực tế, nhưng tôi đã cố gắng làm cho nó hoạt động với tôi trong PHP. Sử dụng truy vấn sau:

SELECT
  c.procno,
  CONCAT(CASE WHEN cnt > 1 THEN CONCAT(RN,'-') ELSE '' END, t.Proc) Proc
FROM
  (
    SELECT
      @curRow:=CASE WHEN @prevRow = a.Proc THEN @curRow+1 ELSE 1 END AS rn,
      a.Proc,
      a.Procno,
      @prevRow:=Proc grp
    FROM (    
          SELECT
            `incurredcharges`.`procedure_no` procno,
            `c`.`procedure` proc
          FROM
            incurredcharges
            INNER JOIN (
              SELECT `procedure`, `procedure_no` FROM `charges`
              UNION ALL
              SELECT `confinement`, `procedure_no` FROM `confinement`
              UNION ALL
              SELECT `service`, `procedure_no` FROM `ultrasound`
            ) c ON `incurredcharges`.`procedure_no` = c.`procedure_no`
          WHERE `incurredcharges`.`patient_no` = '34'
          ORDER BY `c`.`procedure`
      ) a 
          JOIN (SELECT @curRow:=0, @prevRow:= '') r
  ) t JOIN
  (
          SELECT
            `incurredcharges`.`procedure_no` procno,
            `c`.`procedure` proc, Count(*) cnt
          FROM
            incurredcharges
            INNER JOIN (
              SELECT `procedure`, `procedure_no` FROM `charges`
              UNION ALL
              SELECT `confinement`, `procedure_no` FROM `confinement`
              UNION ALL
              SELECT `service`, `procedure_no` FROM `ultrasound`
            ) c ON `incurredcharges`.`procedure_no` = c.`procedure_no`
          WHERE `incurredcharges`.`patient_no` = '34'
          GROUP BY `incurredcharges`.`procedure_no`,
            `c`.`procedure`
  ) c ON t.proc = c.proc

Điều duy nhất tôi thay đổi là dòng 27 từ JOIN (SELECT @curRow:=0) r đến JOIN (SELECT @curRow:=0, @prevRow:= '') r




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự kiện định kỳ, Truy vấn SQL

  2. JSON_ARRAY () - Tạo một mảng JSON từ một danh sách các giá trị trong MySQL

  3. Hibernate @OneToMany ném MySQLSyntaxErrorException:Bạn có lỗi trong cú pháp SQL của mình

  4. Làm cách nào để sử dụng đúng đối tượng PDO cho truy vấn SELECT được tham số hóa

  5. chọn từ một bảng và chèn vào bảng khác