sql >> データベース >  >> RDS >> Mysql

SQLフィドルとMySQLサーバー/PhpMyadminで異なる結果

    SQL Fiddleが実際の結果と異なる理由はわかりませんが、PHPで機能させることができました。次のクエリを使用します:

    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
    

    私が変更したのは、JOIN (SELECT @curRow:=0) rの27行目だけです。 to JOIN (SELECT @curRow:=0, @prevRow:= '') r




    1. AtlassianBitbucketを使用したPostgreSQLバージョン管理

    2. 行ごとではなく、DataTable全体を一度にデータベースに挿入しますか?

    3. ALTERTABLEエラー

    4. MySQLには2つの異なるパスワードがありますか?