我以前从未需要用MySQL执行复杂的查询(只是基本的SELECT
,UPDATE
和DELETE
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
存储在另一个表中。我该怎么做呢?通常情况下,我会把事情放在一边并研究这个问题,但正如我所说的那样,它现在和现在的情况一样困难,我只需要一些快速的指导。
更新 刚修复了第二个查询中的问题。
答案 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
。