Merge
一行中的多個表行 Informix
我有像這個一樣的問題,但是在 Informix 中。我有 2 個屬性 ID 的表,像這樣的電子郵件:
ID email 1 my_mail1@mail.com 2 my_mail2@mail.com 2 my_mail3@mail.com 2 my_mail4@mail.com 3 my_mail5@mail.com 4 my_mail6@mail.com
我想創建一個返回這個的查詢:
ID email 1 my_mail1@mail.com 2 my_mail2@mail.com my_mail3@mail.com my_mail4@mail.com 3 my_mail5@mail.com 4 my_mail6@mail.com
Stack Overflow 上有一個答案Show a one to many relationship as 2 columns — 1 個唯一行(ID 和逗號分隔列表),它展示瞭如何在 Informix 中創建使用者定義的聚合,其功能或多或少類似於GROUP_CONCAT在 MySQL 中聚合。
然後,您可以輕鬆地使用它來解決此問題中的問題:
SELECT ID, GROUP_CONCAT(Email) FROM Anonymous_Table GROUP BY ID ORDER BY ID;
奇怪的是,這個問題和交叉引用的問題都有匿名表——這是 Stack Exchange 系列網站上有關數據庫問題的常見缺陷之一。