第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C# DataSet Designer - AccesDB - 將兩行合并為一行

C# DataSet Designer - AccesDB - 將兩行合并為一行

C#
jeck貓 2022-11-21 15:47:06
我在 SQL 查詢方面需要您的幫助,我正在嘗試在 C# Dataset Query Builder 中構建...SELECT HouseHold.HHID, Client.FIRST_NAME, Client.LAST_NAME FROM ((Client INNER JOIN HouseHold_Client ON Client.CID = HouseHold_Client.CID) INNER JOIN HouseHold ON HouseHold_Client.HHID = HouseHold.HHID)上面的代碼給了我所有 HouseHolds 的列表(他們的 ID)以及屬于他們的客戶:HHID  |  FIRST_NAME |  LAST_NAME------------------------------1     |  Penelope   |  Grant1     |  Brian      |  Dyer2     |  James      |  Newman2     |  Richard    |  Parsons..但我無法弄清楚如何讓屬于同一個 HouseHold 的人出現在同一行上,就像稍后的數據網格視圖一樣:HHID | I_FIRST_NAME | I_LAST_NAME | II_FIRST_NAME | II_LAST_NAME-----------------------------------------------------------------1    | Penelope     | Grant       | Brian         | Dyer2    | James        | Newman      | Richard       | Parsons我發(fā)現了很多非常相似的問題,但很少有完全相同的問題需要解決。那些(一兩個)確實有同樣問題并且有解決方案的人,我就是無法解決我的問題。非常感謝任何幫助......非常感謝,廣告
查看完整描述

1 回答

?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

由于每個家庭只有 2 個人,因此您可以使用該技巧來獲取每個家庭的最小和最大客戶端 ID。這是在子查詢中完成的。


SELECT

    X.HHID,

    C1.FIRST_NAME AS I_FIRST_NAME, C1.LAST_NAME AS I_LAST_NAME,

    C2.FIRST_NAME AS II_FIRST_NAME, C2.LAST_NAME AS II_LAST_NAME

FROM

    ((  SELECT

            HHID, Min(CID) AS MinCId, IIf(Max(CID)=Min(CID), Null, Max(CID))  AS MaxCId

        FROM HouseHold_Client

        GROUP BY HHID

    ) X

    INNER JOIN Client AS C1

        ON X.MinCId = C1.CID)

    LEFT JOIN Client AS C2

        ON X.MaxCId = C2.CID;

該IIf()表達式的目的是僅當最大客戶端 Id 與最小客戶端 Id 不同時才輸出最大客戶端 Id。MaxCId要在 為 時也返回記錄Null,LEFT JOIN需要在 上C2。


我沒有加入HouseHold這里的表,因為我們只需要HHID來自它的,它也可以在HouseHold_Client. 如果您需要它的其他列,您當然也可以加入它。


子查詢:


(  SELECT

        HHID, Min(CID) AS MinCId, IIf(Max(CID)=Min(CID), Null, Max(CID))  AS MaxCId

    FROM HouseHold_Client

    GROUP BY HHID

) X

子查詢必須括在括號中并指定一個名稱(此處為X)。X充當具有列的普通表HHID,MinCId并MaxCId在主查詢中。它按 分組HHID。即,它每個返回一行HHID。Min(CID)返回最小CID和Max(CID)最大的CIDper HHID。


在每個 2 個客戶端的情況下HHID,這意味著Min和Max將產生這 2 個客戶端。如果您只有 1 個客戶,則兩者都Min將Max返回相同的客戶。如果是這種情況,那么IIf將返回Null而不是Max(CID)避免返回同一個客戶端兩次。


查看完整回答
反對 回復 2022-11-21
  • 1 回答
  • 0 關注
  • 157 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號