台灣最大程式設計社群網站
線上人數
1512
 
會員總數:243325
討論主題:188102
歡迎您免費加入會員
討論區列表 >> MySQL >> 2個資料欄位位置
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
2個資料欄位位置
價值 : 50 QP  點閱數:235 回應數:10

樓主

培根
門外漢
0 35
673 113
發送站內信

各位大家好!!
我目前使用VB.NET,我有一個問題。

我有2個資料表,分別為A跟B。
假如表A為

表B為

以上A,B資料庫是舉例。

而當我查詢A,B資料庫(以B資料庫為主),我想要的結果是


這樣是有可能的結果嗎?
如果可以我要怎麼做呢?
希望有大大可以幫我解答

搜尋相關Tags的文章: [ 資料欄位位置 ] ,
本篇文章發表於2018-09-05 09:46
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

彩虹
檢舉此回應
可以的,結合資料表搭配 join


本篇文章回覆於2018-09-05 11:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

培根
檢舉此回應
謝謝,您彩虹!!
我正在研究,找到的網址https://ithelp.ithome.com.tw/questions/10142917。
它可以在MYSQL新增"檢視表",再加上您的程式碼,這樣搭配起來感覺很不錯!!
謝謝您!
至於"檢視表"實際使用如何還要再看看了。
本篇文章回覆於2018-09-05 11:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
不錯的參考

彩虹
檢舉此回應
你如果有使用 phpmyadmin 介面
有一招比較快的方式
當你輸入查詢的 SQL 指令後,下方有個 「新增檢視表」按鈕,就可以快速建立了
本篇文章回覆於2018-09-05 11:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

培根
檢舉此回應
請問一下,我想串3個資料表,可以串出來但,結果很奇怪


這樣因該是沒錯,但是我的ID跑出很多重複的資料
本篇文章回覆於2018-09-05 17:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

彩虹
檢舉此回應
你可以思考一下,你買的東西為何還要再放親人進去
C 表有很多親人,所以就會出現很多重複資料

這時候就不建議你在 join C 了∼

本篇文章回覆於2018-09-05 19:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

培根
檢舉此回應
我換了另外一總方式

可惜還是錯,我還在想
本篇文章回覆於2018-09-06 08:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

培根
檢舉此回應
我想到了一個問題!
因為我的表A的ID沒有重複資料
而表C有,我在想這樣跟該會跟表B衝突
也就是說
表C有3筆會員ID,表B有6筆會員ID,他們相同的形況
本篇文章回覆於2018-09-06 08:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

彩虹
檢舉此回應
這是正常現象

提供一些範例給你,不用先預設太多資料

A資料表 (只有一個會員資料)
會員ID, 生日
1, 09/04

B資料表 (只夠買一個商品)
會員ID, 購買商品
1, 杯墊

C資料表 (只有一個親人)
會員ID, 親人
1, 爸爸

==================
當你結合 3 張資料表後 (剛好只會有一列)
會員ID, 購買商品, 生日, 親人
1, 杯墊, 09/04, 爸爸

(在 1:1:1 的情況下,資料是最好看的)
==================
假設是購買假設多了杯子
會員ID, 購買商品, 生日, 親人
1, 杯墊, 09/04, 爸爸
1, 杯子, 09/04, 爸爸

(在 1:2:1 的情況下,就會變成 2 列)
==================
假設還有親人媽媽
會員ID, 購買商品, 生日, 親人
1, 杯墊, 09/04, 爸爸
1, 杯墊, 09/04, 媽媽
1, 杯子, 09/04, 爸爸
1, 杯子, 09/04, 媽媽
(在 1:2:2 的情況下,就會變成 4 列)


本篇文章回覆於2018-09-06 09:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
我的建議是,很多時候沒必要強求一個SQL抓出所有需要的資料
多用兩個SQL,寫法會簡化很多,效率也不會差到哪去
本篇文章回覆於2018-09-06 09:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

培根
檢舉此回應
謝謝兩位大大。
我目前的做法是把C資料表的特定資料,存到A
這樣就是 1:多 了。
不然3個資料庫合起來很奇怪
本篇文章回覆於2018-09-06 13:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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