如何从一个表中检索信息以订购另一个表的结果

时间:2012-12-20 20:13:28

标签: php mysql

我以前从未需要用MySQL执行复杂的查询(只是基本的SELECTUPDATEDELETE s)所以我发现这有点难度。这与我正在写的剧本一样难,并且会很感激一些指导。

接受此查询:

SELECT * FROM submissions ORDER BY program,title ASC

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

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

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

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

3 个答案:

答案 0 :(得分:1)

试试这个:

SELECT * 
FROM submissions INNER JOIN program ON submissions.id = programs.id 
ORDER BY program_tittle ASC;

答案 1 :(得分:1)

你可以试试这个

SELECT submissions.* FROM submissions INNER JOIN PROGRAMS ON PROGRAMS.ID = SUBMISSIONS.PROGRAM ORDER BY program_title ASC

答案 2 :(得分:1)

本着你的尝试精神:

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

我刚刚将<program id stored in submissions>替换为program