MySQL语句查询

一张A表关联到另一张B表,A表的一个A.groupId 与 B表的 B.groupId是关联关系,但没有主外键关系,查询 A表, 根据A.groupId查询B表的IP字段,但B表有多条相同B.groupId的记录 。现在的目的是,查询A表 把B表有相同的B.groupId 的 IP 全部查询出来,并用逗号‘,’连接起来做一个字段展示在查询语句中。

具体看下面示意:

A 表
Aid groupId name
1 1 x
2 2 y

B表
Bid groupId IP
1 1 1.1.1.1
2 1 2.2.2.2
3 2 3.3.3.3

查询语句 select **********************

结果
Aid A.groupId IP name
1 1 1.1.1.1,2.2.2.2 x
2 2 3.3.3.3 y

这样的查询语句怎么写呢?只能用SQL语句实现,数据库是MySql!

4个回答

[code="sql"]
select a.aId,a.groupId,group_concat(b.ip),a.name
from A a left join B b on a.groupId=b.groupId group by a.groupId;

#group_concat 默认以","隔开.

/**
如报错,请及时反馈。
**/
[/code]

select A.Aid, group_concat(B.IP, separator ',') ,name FROM
A ,B where A.groupId=B.groupId;

ff415501264
ff415501264 不好意思……你的语句行不通,我的MySQL是免费版的!
7 年多之前 回复

select A.Aid, group_concat(B.IP, separator ',') ,A.name FROM
A ,B where A.groupId=B.groupId; group by A.Aid

ff415501264
ff415501264 还是报错: [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'separator ',') from srcdomaintopn_fact_day as a,topndomain_src_dim as b where a.' at line 17
7 年多之前 回复

这个问题和我之前回复过的
[url]http://www.iteye.com/problems/88164#s_187053[/url]类似

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问