我如何加入这些表格?

时间:2010-02-07 17:56:50

标签: php mysql join

我有两张桌子:

**WEEK**

-id

-week #

**ITEM**

-id

-name

-is_marked

-week #

我最后想要的结果是有一个表格,其中包含带有week #的rowspan =“3”表格单元格,然后是SELECT * FROM item WHERE week = week_number AND is_marked = 1每周的三个结果

我不知道是否需要加入任何东西,因为我不需要WEEK表中的任何数据,但我不能完全了解如何循环结果以获得所需的输出。想法?

2 个答案:

答案 0 :(得分:1)

更改项目表以保存周ID,而不是值。

然后你可以做一个简单的连接:

select i.name
from item i
inner join week w on w.id = i.id
where w.week = '2' and i.is_marked = '1'

答案 1 :(得分:1)

好的,有些想法。

  1. 您真的需要在数据库中使用星期表吗?它有什么用途?它似乎是项表的值。它实际上不是一个实体,因此可能不需要单独的表IMO。

  2. 你说得对,两张表中没有任何东西可以加入。如果Item表中有week_id而不是数字,那么这是有意义的,除了我在1中的评论

  3. 为什么每周只有3件商品?如果您真的想要,我建议您按项目表中的周数订购。您可以丢弃代码中的其他值。在这种情况下使用order by子句。

  4. 或者,您可以遍历周表中的所有值,对于每个值,使用周数从项目表中选择。您可以使用limit子句仅返回3个项目。