我有两张table mySQL
数据库 applicants
以及 applicant_childrens
. 这个 applicants
表包含家长及其子女的用户详细信息。这个 applicant_childrens
是连接父级和子级的联接表。下面是表格的细节。
申请人
id | name | ic | address
----------------------------
1 | Amran | 5115 | KL
2 | Zack | 1234 | KL
3 | Nur | 1156 | Sel
4 | Aisya | 8701 | Sabah
申请人子女
id | ic_parent | ic_chidlren
----------------------------
1 | 5115 | 1156
2 | 5115 | 8701
我的问题是,我要如何选择一个数据来显示所有申请者的详细信息,但不显示孩子的名字?例如,我想要的表是:
id | name | ic | address | id | ic_parent | ic_children
----------------------------------------------------------
1 | Amran | 5115 | KL | 1 | 5115 | 1156
1 | Amran | 5115 | KL | 2 | 5115 | 8701
2 | Zack | 1234 | KL
目前我得到的结果如下:
SELECT * FROM `applicants` ap
LEFT JOIN applicant_childrens ac
ON ap.ic=ac.ic_parent
id | name | ic | address | id | ic_parent | ic_children
----------------------------------------------------------
1 | Amran | 5115 | KL | 1 | 5115 | 1156
1 | Amran | 5115 | KL | 2 | 5115 | 8701
2 | Zack | 1234 | KL
3 | Nur | 1156 | Sel
4 | Aisya | 8701 | Sabah
2条答案
按热度按时间neskvpey1#
你可以试试下面的查询-
wpcxdonn2#
你需要澄清你的预期结果:你为什么期待扎克(
ic=1234
)但不是努尔或艾西娅?这3个用户都不在你的电脑里applicant_childrens
table。从我理解你的逻辑来看,似乎只有阿姆兰的名字会出现。我认为你需要从以下几个方面入手
applicant_children
,然后LEFT JOIN
ing到applicants
两次:一次给家长,一次给家长。这样做:
结果如下:
请注意您的
applicants
表未出现。同样,你需要澄清为什么你会期望它。