Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 连接四个表_Mysql_Sql - Fatal编程技术网

Mysql 连接四个表

Mysql 连接四个表,mysql,sql,Mysql,Sql,我查看并尝试了各种示例,但仍然没有得到所需的结果 有一个名为“item”的表,其中包含有关媒体(书籍、视频、mp3等)的元数据 和一个带有视频URL的“item_format”表 和带有“类别”的表格 和一个名为“categories_item”的关系型to 我想找到我们youTube视频上的所有记录,按类别分类。这样,如果你想查找“为人父母”,我们会得到一个列表,一个youTube和标题 parenting https://youtube/v/K8cJKirMo-A Love is

我查看并尝试了各种示例,但仍然没有得到所需的结果

有一个名为“item”的表,其中包含有关媒体(书籍、视频、mp3等)的元数据

和一个带有视频URL的“item_format”表

和带有“类别”的表格

和一个名为“categories_item”的关系型to

我想找到我们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 
我到不了一垒


“字段列表”第1行中的未知列“item.title”#

看看它是否有效:

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;

您的查询还可以,但需要做一些小的更改。您使用表别名。在第一行中,只需使用表别名而不是表名称

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 

使用
进行
连接
在很久以前就已经过时了。是的,但它不再是标准的一部分,不能保证将来的使用。而且它确实使查询的可读性大大降低。您忘记了像“%video5”中的shift键,但在这之后就可以使用了!