请教个sql查询语句

free212 2010-07-22 01:58:37
Tcompany 公司表:
cid company
1 a公司
2 b公司
3 c公司

Tcontact 联系人表:
id cid department contact
1 2 采购部门 张三
2 2 行政部门 李四
3 1 采购部门 林一
2 1 行政部门 林二

就是一个公司多个联系人的表结构。
来路如:go.php?cid=1,2,5,6&department=采购部门


想要的结果:
company contact
a公司 林一
b公司 张三

刚开始用:
SELECT company,(SELECT contact FROM Tcontact where cid=1 AND department='采购部门' LIMIT 1) as contact FROM Tcompany WHERE id IN(1,2,5,6);

但这样内部SELECT里的cid无法使用多个变量,不知可有其它方法?请各位指点,谢谢。
...全文
57 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2010-07-22
  • 打赏
  • 举报
回复
[Quote]ACMAIN_CHM大哥,第四行是不是应为:and a.cid IN(1,2,5,6) ?[/Quote]

这要看你的业务逻辑啊。

来路如:go.php?cid=1,2,5,6&department=采购部门
根据这个网页转的信息,应该是a.cid IN(1,2,5,6)
wwwwb 2010-07-22
  • 打赏
  • 举报
回复
应该是
free212 2010-07-22
  • 打赏
  • 举报
回复
谢谢二位。

ACMAIN_CHM大哥,第四行是不是应为:and a.cid IN(1,2,5,6) ?
ACMAIN_CHM 2010-07-22
  • 打赏
  • 举报
回复
select a.company,b.contact
from Tcompany a inner join Tcontact b on a.cid=b.cid
where b.department='采购部门'
and b.id IN(1,2,5,6)
group by a.company
wwwwb 2010-07-22
  • 打赏
  • 举报
回复
find_in_set(cid,'1,2,5,6')>0
or
instr('1,2,5,6',cid)>0

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧