我有一个 SQL 语句,我需要它看起来像这样的帮助
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
我在 Joomla 模块中使用结果。我需要第一列包含“Dato”,第二列包含“Lykke” 无论如何要从输出中删除“var”列或让它出现在第 3 列中? 目前它输出这个,我首先需要 dato,然后是 lykke。只要不在第一列或第二列中,var 是否在 out 中并不重要。
dato var lykke
1290254400 1393 10
1448020800 1397 9
1637409600 1401 9
最佳答案
更改列的选择子句中的顺序。使用这个:
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
通过这种方式,您可以随意下单。
带有别名的编辑代码:
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
关于mysql - 隐藏列或更改 MySQL 输出中列的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20997088/