我查看并尝试了各种示例,但仍未获得所需的结果。
有一个名为“ item”的表,该表包含有关媒体(书籍,视频,mp3等的元数据)
和带有视频URL的表格“ item_format”
和带有“类别”的表格
以及与“ categories_item”的关系
我想在我们的youTube视频中找到按类别分类的所有记录。这样,如果您寻找“育儿”,我们将列出一个清单,一个youTube和标题。
parenting https://youtube/v/K8cJKirMo-A Love is The Tey
https://youtube/v/uodqINpEC_w Discipline
https://youtube/v/Ko-ZboCzR64 Become Her Friend
依此类推,列出所有分配的类别
item.media类型的'%video%'
item
===============
item_id media_type title
1 video/teachings Discipline
2 video/news December Update
3 video/landscape Quad Copter Noni Field
item_format
=================
item_format_id item_id format
1 2 https://youtube/v/K8cJKirMo-A
2 4 https://youtube/v/uodqINpEC_w
category
=================
category_id item_id name
1 2 parenting
2 4 ethics
category_item # the bridging table between item/category
=================
category_item_id category_id item_id
1 2 2
2 4 3
我尝试过类似的操作,但是会出错,坦白地说,我在这里很
select item.title, item_format.format
from item i
left join item_format if
on i.item_id = if.item_id
left join category_item ci
on i.item_id = ci.item_id
left join category c
on ci.category_id = category_id
where i.media_type LIKE '%video5'
order by c.name
我无法到达一垒
“字段列表” #line 1中的未知列“ item.title”
答案 0 :(得分:1)
提供别名后,您必须提供别名:
查看是否有效
select i.title, if.format,c.name
from item i
inner join item_format if
on i.item_id = if.item_id
inner join category c
on i.item_id=c.item_id
inner join category_item ci
on c.category_id=ci.category_id
where i.media_type LIKE '%video%'
order by c.name
或者这个:
select i.title,if.format,c.name
from item i,item_format if,category c, category_item ci
where
i.item_id=if.item_id and
i.item_id=c.item_id and
c.category_id=ci.category_id
order by c.name;
答案 1 :(得分:1)
您的查询还可以,但是需要一些小的更改。您使用表别名。在第一行中,仅使用表别名而不是表名
select i.title, if.format,c.name
from item i
left join item_format if on (i.item_id = if.item_id)
left join category_item ci on (i.item_id = ci.item_id)
left join category c on (ci.category_id = c.category_id)
where i.media_type LIKE '%video5'
order by c.name