如何外部联接两个表(主表和多对一子表)以仅从第二个表中获得一项?
技术问答
400 人阅读
|
0 人回复
|
2023-09-12
|
我有两个这样的表: i# g* M" {: r: G8 W0 R: u! w& R" C
主表:id(int),标题(varchar)等。子表:main_table_id(主表中的外键),标记(varchar)等。, P9 W4 T; |) G: \# @
对于主表中的给定行,可以有零个或多个子表行。
7 C, n P0 k. F! s我想执行一个查询,它将返回主表的每一行,主表的列,以及只来自子表的单行(无关紧要)列。如果是这样,否则它将被列入这些列NULL。: M8 r9 W- H# f$ j. |
当然,如果我只是做一个基本的LEFT OUTER JOIN,当然,我会反复执行主表很多次,子表中的每一个匹配项都会重复一次。; t# B2 |2 i! K L/ o
在使用中,我敢肯定LEFT OUTER JOIN在此之前,我已经看到了这一点,并使用了一些技能迫使从子表中只选择一行,而不是全部选择-- _/ r! c0 W: i3 Z
最小或最大可能选择OID。然而,谷歌搜索一个多小时没有解决方案。
* Z" t: B* Z( k3 K e4 N8 }有人在工具上有这个把戏吗?
- y5 k0 t6 a3 p9 @ 9 ^& s8 B2 h& E2 a! t
解决方案: |
|
|
|
|
|