我期待着类似的问题,但我没有找到正确的语法。用MySQL连接四个表并从两个表中获取值
我有这些表:
行情 - quotes_id - AUTHOR_ID - quote_ENG
作者 - AUTHOR_ID - 作者
TopicMap - topicmap_id - topics_ENG
QuotesByTopic - quotes_id - topicmap_id
我需要从表行情,从表作者的作者“WHERE 'topic_ENG'= '年龄' 得到 'quote_ENG'。
我能够得到 'quote_ENG' 值...:
SELECT quote_ENG
FROM Quotes, TopicMap, QuotesByTopic
WHERE TopicMap.topics_ENG='age'
and QuotesByTopic.topicmap_id = TopicMap.topicmap_id
and QuotesByTopic.quotes_id = Quotes.quotes_id
...但我错过了最后一段也得到了 '作者' 值:
谢谢你的任何帮助
显式'JOIN'语法是你的朋友。 – Kermit
您正在使用超过20年过时的JOIN语法,[本文](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using -old-style-joins.aspx)突出了许多原因来切换到新的ANSI 92 JOIN语法 – GarethD