2017-08-02 65 views
-6

我有樹表:MySQL查詢以檢索數據,從加入三個表

人:

  • ID

書籍

  • ID
  • 標題

數量:

  • People_id
  • PRODUCT_ID

我需要的結果:在列 書名,在該行的人名稱,在細胞中的數量從人民和書籍的交叉採取

+0

加入將有所幫助。看看https://blog.codinghorror.com/a-visual-explanation-of-sql-joins/,它可以讓你瞭解內部,左邊,右邊和外部連接的基礎知識。我們通常幫助那些幫助過自己的人。如果你顯示你已經嘗試過的樣本數據和一些預期的結果,我相信我們可以提供幫助。另外[MCVE](https://stackoverflow.com/help/mcve)可以提供幫助! – xQbert

+0

這種轉換稱爲pivoting。鏈接的重複主題演示瞭如何在mysql中執行靜態和動態的pivoting。請注意,在應用程序層執行此轉換可能比在mysql中更有效。 – Shadow

+0

作爲替代方案,請考慮處理應用程序代碼 – Strawberry

回答

0
select * 
from persons p join quantity q on p.id = q.people_id 
join books b on q.product_id = b.id 
0

JOIN應該有所幫助(如果您需要所有表中的列,然後在SELECT中爲其他表添加別名*。

SELECT p.* 
FROM persons p 
JOIN quantity q ON p.id = q.people_id 
JOIN books b ON q.product_id = b.id