我认为有办法做到这一点,所以可能只是遗漏了一些东西......我有3个表格,其中包含以下条目类型:
T1: UserID,firstName,lastName
T2: categoryID,categoryName
T3: UserID,categoryID,data
我需要找到一种方法来提取数据,以便它显示第一个和最后一个名称,并将每个5个不同categoryID的数据响应显示为每行一个条目:
t1.firstName,t1.lastName,t3.data(对于categoryID1),t3.data(对于 categoryID2),t3.data(对于categoryID3),t3.data(对于categoryID4), t3.data(类别ID5)
我有基本的加入:
SELECT t1.firstname AS First, t1.lastname AS Last, t2.data
FROM user as t1
INNER JOIN user_info_data as t2
ON t1.id = t2.userid
INNER JOIN user_info_field as t3
ON t2.fieldid = t3.id AND t3.id >= 3
当然每个用户显示5行。现在我需要看看我是否可以从单个语句中组合5行中的每一行。
答案 0 :(得分:0)
根据您提供的表格结构,此查询应该完成工作:
select
t1.firstName,
t1.lastName,
group_concat(t3.data order by t3.category_id) as data
from t1
left join t3 on t1.UserID = t3.UserID
group by
t1.firstName,
t1.lastName