【发布时间】:2016-11-22 05:55:48
【问题描述】:
我想要这个结果
------------------------------------------------------
c_name | c_id | email_count | number_count |
-----------------------------------------------------
course1 | cid1234 | 7 |7 |
course10 | cid7489 | 4 |4 |
course9 | cid0987 | 2 |2 |
course5 | cid2321 | 2 |2 |
course6 | cid8905 | 1 |1 |
course2 | cid2134 | 1 |1 |
course3 | cid4352 | 1 |1 |
course7 | cid9087 | 1 |1 |
course8 | cid6574 | 1 |1 |
course4 | cid1244 | 0 |0 |
---------------------------------------------------
但我得到这样的结果
------------------------------------------------------ -----------
c_name | c_id | email_count | number_count |
-------------------------------------------------------------------
null | cid1234 | 7 |7 |
null | cid7489 | 4 |4 |
null | cid0987,cid2321 | 2 |2 |
null | cid8905,cid4352,cid6574 | 1 |1 |
null | cid2134,cid9087 | 1 |1 |
null | cid1244 | 0 |0 |
------------------------------------------------------------------
我有两个数据库表名称为 (course_master) 和 (search_course) 在一个表课程详细信息在那里,例如 1.) 课程名称为 (c_name) ,
2.) 课程 ID 为 (c_id) ,
在另外一张表里有三个库仑
1.) 课程 ID 为 (c_id) ,
2.)课程以 (c_eml) 的形式通过电子邮件发送,
3.) 在号码 (c_num) 上发送的课程,
如
first table name course_master
--------------------------
s.no | c_name | c_id |
--------------------------
1. | course1 | cid1234 |
2. | course2 | cid2134 |
3. | course3 | cid4352 |
4. | course4 | cid1244 |
5. | course5 | cid2321 |
6. | course6 | cid8905 |
7. | course7 | cid9087 |
8. | course8 | cid6574 |
9. | course9 | cid0987 |
10. | course10| cid7489 |
--------------------------
第二个表名类似于 search_course
-----------------------------------------------
s.no.| c_id | c_eml | c_num |
-----------------------------------------------
1. | cid8905 |example@host.com | 9999999999|
2. | cid7489 | any email Id | any number|
3. | cid0987 | ------"-------- | -----"----|
4. | cid1234 | ------"-------- | -----"----|
5. | cid2134 | ------"-------- | -----"----|
6. | cid4352 | ------"-------- | -----"----|
7. | cid1234 | ------"-------- | -----"----|
8. | cid1234 | ------"-------- | -----"----|
9. | cid2321 | ------"-------- | -----"----|
10. | cid2321 | ------"-------- | -----"----|
11. | cid1234 | ------"-------- | -----"----|
12. | cid9087 | ------"-------- | -----"----|
13. | cid1234 | ------"-------- | -----"----|
14. | cid1234 | ------"-------- | -----"----|
15. | cid6574 | ------"-------- | -----"----|
16. | cid1234 | ------"-------- | -----"----|
17. | cid7489 | ------"-------- | -----"----|
18. | cid0987 | ------"-------- | -----"----|
19. | cid7489 | ------"-------- | -----"----|
20. | cid7489 | ------"-------- | -----"----|
我尽我最大的努力,我什至尝试了很多连接查询,但 我认为课程 ID 像 eml_count = 1 一样分组,它们是该行中的 3 个课程 ID,我是无法得到我想要的结果(相应的课程名称).. 所以请任何人都可以尝试为此编写一个 mysql 查询,这对我有很大的帮助,在此先感谢..
【问题讨论】:
-
同时提供你的 sql 查询
-
到目前为止你做了什么
-
请发布您为实现此目的而编写的查询。
-
我尝试了很多差异查询,其中之一是 { SELECT B.c_name, A.c_id, COUNT(A.c_eml) AS email_count, COUNT(A.c_num) AS number_count FROM search_course A JOIN course_master B ON A.c_id=B.c_id GROUP BY B.c_name ORDER BY COUNT(A.c_eml) DESC, COUNT(A.c_num) DESC }
-
你能检查我的答案吗..@A.Sharma
标签: php mysql sql-server