1

我以前从来不需要用 MySQL 执行复杂的查询(只是基本SELECTUPDATE、、和DELETEs),所以我觉得这有点困难。这与我正在编写的脚本一样难,希望得到一些指导。

接受这个查询:

SELECT * FROM submissions ORDER BY program,title ASC

这将按字母顺序排列结果program,然后title。但是如果program是一个整数,它是id一个名为的表中的行列programs(它也包含一个 column program_title)。所以我真正想要的是做这样的事情:

SELECT * FROM submissions ORDER BY (SELECT program_title FROM programs WHERE id=<program id stored in submissions>),title ASC

但是program_title存储在另一个表中。我该怎么做呢?通常我会把事情放在一边并研究这个主题,但正如我所说,现在事情会变得很困难,我只需要一些快速的指导。

更新 刚刚修复了第二个查询中的一个问题。

4

3 回答 3

1

试试这个:

SELECT * 
FROM submissions INNER JOIN program ON submissions.id = programs.id 
ORDER BY program_tittle ASC;
于 2012-12-20T20:19:30.200 回答
1

你可以试试这个

SELECT submissions.* FROM submissions INNER JOIN PROGRAMS ON PROGRAMS.ID = SUBMISSIONS.PROGRAM ORDER BY program_title ASC
于 2012-12-20T20:19:51.120 回答
1

本着您的尝试精神:

SELECT * FROM submissions ORDER BY (SELECT program_title 
    FROM programs WHERE id=program),title ASC

我只是替换<program id stored in submissions>program.

于 2012-12-20T20:32:45.087 回答