2011-08-29 50 views
0

我正在学习更多关于SQL,并已发现它已经在解决一个问题,我将不得不在PHP后修复,现在我发现MySQL可以做到这一点retrival。如何做到这一简单的mysql选择语句

我有这个查询。

SELECT * 
          FROM `messages` 
          LEFT JOIN `users` ON messages.message_by = users.id 
          WHERE job_id = '135' 
          ORDER BY message_date DESC 

但我想现在要做到这一点,

SELECT DATE_ADD(`message_date`, INTERVAL 6 HOUR) AS `message_date`, * 
          FROM `messages` 
          LEFT JOIN `users` ON messages.message_by = users.id 
          WHERE job_id = '135' 
          ORDER BY message_date DESC 

凡DATE_ADD部分修复了时差问题,但我已经提出,在发言中,我的选择部分现在不要不知道如何使用,*(以及其他所有),它不起作用。我不想列出检索后的每一个领域,因为我已经添加了这个日期修复...

什么是解决它的方法?谢谢。

回答

1

只是在前面加上表的名称和它应该工作

SELECT DATE_ADD(`message_date`, INTERVAL 6 HOUR) AS `message_date`, messages.* 
          FROM `messages` 
          LEFT JOIN `users` ON messages.message_by = users.id 
          WHERE job_id = '135' 
          ORDER BY message_date DESC 

另外,你确定你需要选择所有字段?您只需选择需要的列即可提高速度。

+0

谢谢妮可。我知道,我通常总是只选择我需要的列,但在这种情况下,它们都是这样,除了一两个,而且只有少量数字,所以不值得。 –