我的 SQL 语句看起来像这样
SELECT SQL_CALC_FOUND_ROWS q.id, q.question, sb.subject, c.chapter, sc.section, p.paragraph
FROM questions AS q
, subjects AS sb
, sections AS sc
, chapters AS c
, paragraphs AS p
WHERE (sb.id=q.subject AND c.id=q.chapter AND sc.id=q.section AND p.id=q.paragraph) AND (q.author_id=1)
ORDER BY q.id asc
LIMIT 0, 25
如您所见,这些表通过 id 相互关联。问题是,我得到的是 questions
表的 subject
列,而不是 subjects
表的 subject
列。我在这里缺少什么?
注意
我提供了主题作为示例。实际上,所有三个部分 AS sc、章节 AS c、段落 AS p 都不起作用。我只得到主题。
最佳答案
显然,您问题中的查询很好,但仍要使用此语句来挖掘它,并查看 subjects_subject 列中出现的内容:
SELECT SQL_CALC_FOUND_ROWS q.id, q.question, sb.subject as subjects_subject, c.chapter, sc.section, p.paragraph
FROM questions AS q
, subjects AS sb
, sections AS sc
, chapters AS c
, paragraphs AS p
WHERE (sb.id=q.subject AND c.id=q.chapter AND sc.id=q.section AND p.id=q.paragraph) AND (q.author_id=1)
ORDER BY q.id asc
LIMIT 0, 25
关于MySQL查询问题: Can't select columns from another table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10573624/