Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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_Join - Fatal编程技术网

Mysql 仅当其联接记录存在于其他表中时获取记录

Mysql 仅当其联接记录存在于其他表中时获取记录,mysql,sql,join,Mysql,Sql,Join,我有两个关于组和类别的表,我想返回组和类别,不包括那些没有任何类别的组。这里是我编写的SQL: SELECT cat_group.subject as group_name , spcat . * FROM special_event_groups AS cat_group LEFT JOIN special_event_categories AS spcat ON cat_group.id = spcat.group_id AND ca

我有两个关于组和类别的表,我想返回组和类别,不包括那些没有任何类别的组。这里是我编写的SQL:

SELECT 
    cat_group.subject as group_name , spcat . *
FROM
    special_event_groups AS cat_group
        LEFT JOIN
    special_event_categories AS spcat ON cat_group.id = spcat.group_id
        AND cat_group.partner_id = spcat.partner_id;

它返回给我的记录组的空值没有任何类别。我需要使用子查询吗?

您也可以使用
外部左联接
左联接
联接
,这取决于数据库的版本

试试这个:

SELECT 
    cat_group.subject as group_name , spcat . *
FROM
    special_event_groups AS cat_group
       // LEFT JOIN, OUTER LEFT JOIN, JOIN
    special_event_categories AS spcat ON cat_group.id = spcat.group_id
WHERE cat_group.partner_id IS NULL;

让我知道它是否有效

您也可以使用
外部左连接
左连接
连接
,这取决于数据库的版本

试试这个:

SELECT 
    cat_group.subject as group_name , spcat . *
FROM
    special_event_groups AS cat_group
       // LEFT JOIN, OUTER LEFT JOIN, JOIN
    special_event_categories AS spcat ON cat_group.id = spcat.group_id
WHERE cat_group.partner_id IS NULL;

让我知道它是否有效

您也可以使用
外部左连接
左连接
连接
,这取决于数据库的版本

试试这个:

SELECT 
    cat_group.subject as group_name , spcat . *
FROM
    special_event_groups AS cat_group
       // LEFT JOIN, OUTER LEFT JOIN, JOIN
    special_event_categories AS spcat ON cat_group.id = spcat.group_id
WHERE cat_group.partner_id IS NULL;

让我知道它是否有效

您也可以使用
外部左连接
左连接
连接
,这取决于数据库的版本

试试这个:

SELECT 
    cat_group.subject as group_name , spcat . *
FROM
    special_event_groups AS cat_group
       // LEFT JOIN, OUTER LEFT JOIN, JOIN
    special_event_categories AS spcat ON cat_group.id = spcat.group_id
WHERE cat_group.partner_id IS NULL;

让我知道它是否有效

您需要做的是将
左连接
更改为
连接

SELECT 
    cat_group.subject as group_name , spcat . *
FROM
    special_event_groups AS cat_group
JOIN
    special_event_categories AS spcat ON cat_group.id = spcat.group_id
    AND cat_group.partner_id = spcat.partner_id;

如果不满足连接条件,
左连接
显示
特殊事件组
中的行,并在
特殊事件组
中的选定列中附加
NULL
值<另一方面,当不满足
JOIN
条件时,code>JOIN从不返回行。您可以阅读@MrMoose comment以了解更多信息。

您需要做的是将
左连接
更改为
连接

SELECT 
    cat_group.subject as group_name , spcat . *
FROM
    special_event_groups AS cat_group
JOIN
    special_event_categories AS spcat ON cat_group.id = spcat.group_id
    AND cat_group.partner_id = spcat.partner_id;

如果不满足连接条件,
左连接
显示
特殊事件组
中的行,并在
特殊事件组
中的选定列中附加
NULL
值<另一方面,当不满足
JOIN
条件时,code>JOIN从不返回行。您可以阅读@MrMoose comment以了解更多信息。

您需要做的是将
左连接
更改为
连接

SELECT 
    cat_group.subject as group_name , spcat . *
FROM
    special_event_groups AS cat_group
JOIN
    special_event_categories AS spcat ON cat_group.id = spcat.group_id
    AND cat_group.partner_id = spcat.partner_id;

如果不满足连接条件,
左连接
显示
特殊事件组
中的行,并在
特殊事件组
中的选定列中附加
NULL
值<另一方面,当不满足
JOIN
条件时,code>JOIN从不返回行。您可以阅读@MrMoose comment以了解更多信息。

您需要做的是将
左连接
更改为
连接

SELECT 
    cat_group.subject as group_name , spcat . *
FROM
    special_event_groups AS cat_group
JOIN
    special_event_categories AS spcat ON cat_group.id = spcat.group_id
    AND cat_group.partner_id = spcat.partner_id;


如果不满足连接条件,
左连接
显示
特殊事件组
中的行,并在
特殊事件组
中的选定列中附加
NULL
值<另一方面,当不满足
JOIN
条件时,code>JOIN从不返回行。你可以阅读@MrMoose评论以了解更多信息。

左连接更改为
连接
?是的,将左连接更改为连接或内部连接(虽然它们是相同的)@piotrekkr很好,可以帮助配偶感谢一大堆!!你们中的任何一个人可以添加这个作为答案,这样我就可以标记它了吗?如果你是
JOIN
语法的新手,我发现类似于JOIN的东西对获得基本理解非常有帮助。它们都能很好地解释维恩图的局限性/缺点,并提供有趣的回答和替代方案。这些都是学习SQL连接的相当不错的资源。你也可以使用外部左连接,左连接,连接,这取决于数据库的版本更改
左连接
连接
?是的,将左连接更改为连接或内部连接(尽管它们是相同的)@piotrekkr非常好,这对配偶非常有帮助!!你们中的任何一个人可以添加这个作为答案,这样我就可以标记它了吗?如果你是
JOIN
语法的新手,我发现类似于JOIN的东西对获得基本理解非常有帮助。它们都能很好地解释维恩图的局限性/缺点,并提供有趣的回答和替代方案。这些都是学习SQL连接的相当不错的资源。你也可以使用外部左连接,左连接,连接,这取决于数据库的版本更改
左连接
连接
?是的,将左连接更改为连接或内部连接(尽管它们是相同的)@piotrekkr非常好,这对配偶非常有帮助!!你们中的任何一个人可以添加这个作为答案,这样我就可以标记它了吗?如果你是
JOIN
语法的新手,我发现类似于JOIN的东西对获得基本理解非常有帮助。它们都能很好地解释维恩图的局限性/缺点,并提供有趣的回答和替代方案。这些都是学习SQL连接的相当不错的资源。你也可以使用外部左连接,左连接,连接,这取决于数据库的版本更改
左连接
连接
?是的,将左连接更改为连接或内部连接(尽管它们是相同的)@piotrekkr非常好,这对配偶非常有帮助!!你们中的任何一个人可以添加这个作为答案,这样我就可以标记它了吗?如果你是
JOIN
语法的新手,我发现类似于JOIN的东西对获得基本理解非常有帮助。它们都能很好地解释维恩图的局限性/缺点,并提供有趣的回答和替代方案。这些都是学习SQL连接的相当不错的资源。你也可以使用外部左连接,左连接,连接,这取决于你数据库的版本