Hide column or reorder columns in MySQL output

I have a SQL statement, I need help that looks like this:

SELECT 
  unix_timestamp(prefix_rsform_submission_values.FieldValue) AS dato,
  prefix_rsform_submission_values.SubmissionValueId AS var,
  (SELECT prefix_rsform_submission_values.FieldValue FROM prefix_rsform_submission_values WHERE prefix_rsform_submission_values.SubmissionValueId = (var -1)) AS lykke
FROM
  prefix_rsform_submissions
  INNER JOIN prefix_rsform_submission_values ON (prefix_rsform_submissions.SubmissionId = prefix_rsform_submission_values.SubmissionId)
WHERE
  prefix_rsform_submissions.FormId = 10 AND 
  prefix_rsform_submissions.UserId = 278 AND 
  prefix_rsform_submission_values.FieldName = 'dato'
ORDER BY
  prefix_rsform_submission_values.SubmissionValueId

Im using the result in the Joomla module. I need the first column that contains the Dato and Second columns to contain Lykke. Is there a way to get rid of the var column from the output or let it enter the third column? He is currently outputting this, and I need dato first and then lykke. It does not matter if the var variable is located if it is not in the first or second columns.

dato        var      lykke
1290254400  1393     10
1448020800  1397     9
1637409600  1401     9
+4
source share
1 answer

Change the order in the select clause of the column. Use this:

 SELECT t.dato, t.lykke
  FROM
  (SELECT 
      unix_timestamp(prefix_rsform_submission_values.FieldValue) AS dato,
      prefix_rsform_submission_values.SubmissionValueId AS var,
      (SELECT prefix_rsform_submission_values.FieldValue FROM prefix_rsform_submission_values WHERE prefix_rsform_submission_values.SubmissionValueId = (var -1)) AS lykke
    FROM
      prefix_rsform_submissions
      INNER JOIN prefix_rsform_submission_values ON (prefix_rsform_submissions.SubmissionId = prefix_rsform_submission_values.SubmissionId)
    WHERE
      prefix_rsform_submissions.FormId = 10 AND 
      prefix_rsform_submissions.UserId = 278 AND 
      prefix_rsform_submission_values.FieldName = 'dato'
    ORDER BY
      prefix_rsform_submission_values.SubmissionValueId) t

This way you can do the same order as you.

:

SELECT t.dato, t.lykke
  FROM
    (SELECT 
      unix_timestamp(pr3.FieldValue) AS dato,
      pr3.SubmissionValueId AS var,
      (SELECT pr1.FieldValue 
          FROM prefix_rsform_submission_values AS pr1
          WHERE pr1.SubmissionValueId = (var -1)) AS lykke
    FROM
      prefix_rsform_submissions AS pr2
      INNER JOIN prefix_rsform_submission_values pr3 ON (pr2.SubmissionId = pr3.SubmissionId)
    WHERE
      pr2.FormId = 10 AND 
      pr2.UserId = 278 AND 
      pr3.FieldName = 'dato'
    ORDER BY
      pr3.SubmissionValueId) AS t
0

All Articles