SQL加入多个id以逗号分隔

时间:2015-05-18 23:22:11

标签: php mysql codeigniter

我有两张桌子,费用和用户。

费用表:

id | project | category | type | description | status | value | date_reg | date_edit | edited | id_user | name

现在我需要,在成本表中的id_user上保存用户的id,我是怎么做到的?我保存为1 | 2 | 3或1,2,3?但我需要联系表用户获取一些信息,如姓名,电子邮件和其他东西。

费用表: 的 id_user 1 | 2 | 3 | 4或1,2,3,4或任何其他内容。

用户表:      id |名字|密码|电子邮件| date_reg |级别|照片

因为同一个项目可能有很多用户(桌面费用)。

我想在费用表上按id_users列出用户(来自用户表)的信息。 我正在使用codeigniter。

1 个答案:

答案 0 :(得分:1)

每个成本都需要一个新的成本表:

Projects
-----------------
Project_id
Name

Users
--------------------
User_id
Username

Costs
----------------
Cost_id
Amount
Project_id
User_id

...

查找每个项目的每个项目的项目成本:

Select sum(c.Amount) as total_cost, count(*) as num_costs, p.Project_id,p.Name as project_name, u.user_id, u.Username
From costs c inner join project p on c.Project_id=c.Project_id
Inner join users u
On c.User_id=u.User_id
Group by p.Project_Id, u.user_id

每位用户的费用

Select sum(c.Amount) as total_cost, count(*) as num_costs, u.user_id, u.Username
From costs c 
Inner join users u
On c.User_id=u.User_id
Group by u.user_id