因此,我有两个查询需要在word_pdf_cords.lineNumber上联接。这两个查询本身也由连接组成。我不知道MySQL的语法,所以我有点吃力。
查询一
Select pdf.html_path,pdf.xml_path, 
word.word_Value,word_pdf.word_pdf_ID,word_pdf_cords.word_pdf_cords_ID,
word_pdf_cords.word_pdf_ID,word_pdf_cords.pageNumber,
word_pdf_cords.lineNumber 
FROM word_pdf
INNER JOIN pdf ON pdf.PDF_ID = word_pdf.PDF_ID
Inner Join word ON word.word_ID = word_pdf.word_ID
Inner Join word_pdf_cords ON word_pdf.word_pdf_ID = 
word_pdf_cords.word_pdf_ID
WHERE word.word_Value ="clocks"问题二
Select pdf.html_path,pdf.xml_path, 
word.word_Value,word_pdf.word_pdf_ID,word_pdf_cords.word_pdf_cords_ID,
word_pdf_cords.word_pdf_ID,word_pdf_cords.pageNumber,
word_pdf_cords.lineNumber 
FROM word_pdf
INNER JOIN pdf ON pdf.PDF_ID = word_pdf.PDF_ID
Inner Join word ON word.word_ID = word_pdf.word_ID
Inner Join word_pdf_cords ON word_pdf.word_pdf_ID = 
word_pdf_cords.word_pdf_ID
WHERE word.word_Value ="pirates"我需要在pdf_cords.lineNumber上连接这两个查询的结果。
发布于 2018-01-18 03:43:40
这似乎是有效的,但不是在大量数据上。如果有人知道更多关于数据库查询优化,可以给我一些指导,那将是很好的。
Select 
q1.html_path,q1.xml_path,q1.word_Value,q1.pageNumber,q1.lineNumber,
q2.word_Value FROM
 (SELECT pdf.html_path,pdf.xml_path, 
word.word_Value,word_pdf_cords.pageNumber,
word_pdf_cords.lineNumber FROM word_pdf INNER JOIN pdf ON pdf.PDF_ID = 
word_pdf.PDF_ID Inner Join word ON word.word_ID = word_pdf.word_ID Inner 
Join word_pdf_cords ON word_pdf.word_pdf_ID = word_pdf_cords.word_pdf_ID 
WHERE word.word_Value ="John")
as q1
 JOIN (SELECT pdf.html_path,pdf.xml_path, 
word.word_Value,word_pdf_cords.pageNumber,word_pdf_cords.lineNumber FROM 
word_pdf INNER JOIN pdf ON pdf.PDF_ID = word_pdf.PDF_ID Inner Join word ON 
word.word_ID = word_pdf.word_ID Inner Join word_pdf_cords ON 
word_pdf.word_pdf_ID = word_pdf_cords.word_pdf_ID WHERE word.word_Value 
="Smith")
as q2 ON q1.html_path = q2.html_path and q1.pageNumber = 
q2.pageNumber and q1.lineNumber = q2.lineNumber发布于 2018-01-16 22:41:03
据我所知,唯一的区别在于WHERE子句,因此您可以只联接where子句,而不是同时联接两个查询:
WHERE word.word_Value ="pirates" OR word.word_Value ="clocks"https://stackoverflow.com/questions/48283548
复制相似问题