【发布时间】:2013-03-20 22:30:53
【问题描述】:
我有一张这样的桌子:
[Exam]
[exam_id] [exam_name]
1 Test1
2 Test2
还有这样的表:
[Module]
[module_id] [module_name] [exam_id]
1 Module1 1
2 Module2 1
3 Module1 2
很明显,我们看到 Test1 分配了 2 个模块,而 Test2 分配了模块
我想要一个查询连接两个表,输出如下所示:
Test 1 Module1
Module2
Test 2 Module1
我做了以下事情:
SELECT `exam`.'exam_id', 'exam_name', 'module_name'
FROM (`exam`) JOIN `module` ON `exam`.`exam_id`=`module`.`exam_id`
但我得到一个包含重复考试名称的输出:
Test 1 Module 1
Test 1 Module 1
Test 2 Module1
我想删除额外的测试 1,因为它们显示在我正在使用 foreach 的视图上
你们能帮我解决这个问题吗? .. 我正在使用 codeIgniter,所以你也可以在 codeigniter 中向我提供查询。
谢谢
【问题讨论】:
-
是的......不会发生,抱歉。那不是 SQL 的工作方式。您可以拼凑一些疯狂的 UNION,将考试名称涂抹在除“标题行”之外的任何内容上,但老实说,这类报告/显示任务在帖子中处理得更好-查询。
标签: mysql codeigniter one-to-many