台灣最大程式設計社群網站
線上人數
1398
 
會員總數:243311
討論主題:188091
歡迎您免費加入會員
討論區列表 >> MySQL >> 同一欄位能一次多個值當索引嗎?
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
同一欄位能一次多個值當索引嗎?
價值 : 50 QP  點閱數:1123 回應數:3

樓主

小新手
門外漢
0 3
74 6
發送站內信



大家好~我一個新手不知道這是不是很簡單的問題
GOOGLE很久還找不到答案,所以上來發問一下QQ
我想做一個php網頁 利用select表單連結MYSQL
當我選了index1這個選項的時候
我希望能出現資料表2 JOE、ANNY、ZOE這三個資料
請問這是有辦法實現的嗎?
還是必須分開建立資料呢?

資料表1
欄位A    欄位B
index1    1,2,3
index2    2,3
index3    4

資料表2
欄位A    欄位B
1      JOE
2      ANNY
3      ZOE
4      AMY

搜尋相關Tags的文章: [ mysql ] ,
本篇文章發表於2018-02-27 02:32
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
不錯的參考

迷路
捐贈 VP 給 迷路 檢舉此回應
這是所謂的多對多關連,一般來說做法會是額外增加一張對應表
表A
ID,欄位一,欄位二,......
表B
ID,欄位一,欄位二,......
對應表C
ID,表A的ID,表B的ID
本篇文章回覆於2018-02-27 09:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
一般會建議再多開一個表來記錄其多對多的值


如果要用現成表的話,會建議用兩個sql命令。
所去讀取表1的b值
在用其b值來帶入in的方式來讀取。


當然要一次性語法也是可以的。只是一般來說這樣子做在效能上會很差。所以這方式我就不教了
本篇文章回覆於2018-02-27 16:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

王智正
檢舉此回應
我的做法是
select * from t1,t2 where t1.TA='index2' and t1.TB like concat('%', t2.TA,'%')
本篇文章回覆於2018-04-07 18:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.