我自願爲當地的非營利組織提供假日期間的玩具和食品。我幫助他們的一種方式是通過在線提交他們的禮物/食物請求。通過這種方式,您可以在15個小時內手動輸入1000個左右名稱到Excel中,只需點擊一個鏈接,即可在幾秒鐘內完成全部導出。一個父行,另一個表中有多個子行。如何將它們全部排成一行?
我的問題與我如何從一個查詢中的數據庫中獲取數據有關。我相信這是可能的,但不能籠罩我的頭,我可以做到。
有一個父表,其中包含將收到禮物(每家庭一行)的孩子的家庭信息。有一個包含家庭孩子信息的子表(每個孩子一行,每個父行多行)。每個父行將有1-3個子行。
PARENT TABLE
-----------------------------
id
name
address
city
CHILDREN TABLE
-----------------------------
parent_id
name
gift1
gift2
gift3
我想從數據庫中導出數據時,因此它可以被放入一個CSV文件,讓所有的兒童信息與家長信息一行。我知道我可以用兩個單獨的查詢來做到這一點,但如果可能的話,我不想爲每個家庭的孩子都打數據庫。
我已經思考了一個小時左右,不能完全想出我會如何做到這一點。我相信我需要加入表格,但我不確定如何區分每個孩子,避免重複他們,而不是得到下一個孩子(如果有的話)。
你可以舉一個例子來說明你想要的結果行嗎?這是一個相對簡單的數據透視表,但它由1:多關係複雜化(因此數據透視表的列名變得至關重要,因此您需要知道最大數量的子女)。爲什麼不使用第二個查詢?它會更加靈活...... – ircmaxell 2010-08-18 14:13:34
「我想將父母的信息全部放在一行中獲得所有兒童的信息」 - 是每個孩子一行(即單個父母的多行)還是一行每個父母一行(即同一行上同一父母的多個孩子)? – 2010-08-18 14:32:16
「每個父行將有1-3個子行。」那麼有三個以上孩子的家庭會錯過嗎? – 2010-08-18 14:33:14