我在MYSQL中有兩個表,其中一個包含客戶可以從中選擇的選項列表,另一個包含選項的成本。我想要一個可以返回每個客戶選項集的成本的觀點。就我的例子而言,我會用購買新車的類比。MYSQL Query列名到另一個表中的行
Customers表
customer - sunroof - mag_wheels - spoiler
--------------------------------------------------
John - true - true - false
Steve - false - true - false
Lucy - false - false - false
選項表
option - price
-----------------
sunroof - 100
mag_wheels - 150
spoiler - 75
期望的結果
customer - cost
-----------------
John - 250
Steve - 150
Lucy - 0
或本會做,因爲我好輕鬆乘以價格選擇,然後按客戶
customer - option - selected - price
------------------------------------------
John - sunroof - true - 100
John - mag_wheels - true - 150
John - spoiler - false - 75
Steve - sunroof - false - 100
Steve - mag_wheels - true - 150
Steve - spoiler - false - 75
Lucy - sunroof - false - 100
Lucy - mag_wheels - false - 150
Lucy - spoiler - false - 75
我一直在困惑這已經好幾個小時了,我甚至無法弄清楚從哪裏開始,一個連接似乎沒有問題,因爲沒有共同的元素可以匹配。我不知道是否使用UNION是答案,但我不知道如何將行值與列標題組合。
如果任何人都可以指出我正確的方向,我會非常感激,如果你想出一個解決方案,動態地選擇不同的選項,所以我可以在未來重新添加更多的查詢。
非常感謝提前。
我希望將所有選項作爲單行使用的原因是我希望使用Access來製作表單來選擇選項,但我無法弄清楚單個表單如何創建多行。
你應該重新設計你的表格。從用戶表中刪除選項 - 它們應該被拆分成它們自己的表:'users - > user_options - > options',之後你可以使用簡單的JOIN操作來完成你想要的東西。 –
我將有一個單獨的用戶表,我只是在選項表中有用戶名,所以我可以區分訂單。查詢看起來如果我有一個單獨的用戶表? – James
http://en.wikipedia.org/wiki/Join_%28SQL%29 –