Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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,很抱歉,我不知道如何将这个标题缩写成一个可行的问题 我有两个表,一个通过外键链接到另一个,我们称之为ID 第一步, 从表1中选择除手头ID之外的所有条目: SELECT * FROM MyTable1 WHERE ID != 1234; 现在,我想把第二张桌子放进去。此表的ID为FK,第二个字段为CompanyName 为了完成我的查询,我想要一个可以省略表1中所有值的查询,这些值共享与表2中ID一致的公司名称 这是通过单个查询实现的,还是我做得太过火了?您可以简单地连接表并指定Co

很抱歉,我不知道如何将这个标题缩写成一个可行的问题

我有两个表,一个通过外键链接到另一个,我们称之为ID

第一步,

从表1中选择除手头ID之外的所有条目:

     SELECT * FROM MyTable1 WHERE ID != 1234;
现在,我想把第二张桌子放进去。此表的ID为FK,第二个字段为CompanyName

为了完成我的查询,我想要一个可以省略表1中所有值的查询,这些值共享与表2中ID一致的公司名称


这是通过单个查询实现的,还是我做得太过火了?

您可以简单地连接表并指定CompanyName不能相等:

select MyTable1.* from MyTable1, MyTable2
where MyTable1.ID = MyTable2.ID
and MyTable1.ID <> 1234
and MyTable1.CompanyName <> MyTable2.CompanyName

我学习了这些技巧,自己找到了答案。

这个问题太让人困惑了。让读者更容易理解这个问题。在我看来,这是可能的,但是你真的应该发布你的表结构和示例数据以供确认。这是尽可能简单的,请再次阅读。不,不是。首先,你可以从减少你不需要的原油开始。那将是微不足道的。现在,我想把第二张桌子放进去,不加任何东西;为了完成我的查询,我想要一个可以。。。没有增加任何内容。另外,您的问题本质上是一个为我编写代码的问题。你没有提供研究的证据,也没有提供你所发现的或你所尝试的不起作用的证据。也是如此;这是一个建立知识库的网站。我理解你的意思。谢谢你的回答。这是我一年多来唯一的问题,我几乎没有使用SO作为编写代码的地方,或者作为“获取所需的所有帮助”资源。这将返回表2中的条目,我不希望这样。很好的尝试。更改您的选择以包括您想要的字段。@jspcal,也许在这种情况下左连接会更好case@haleemurAli你能给出一个更好的答案吗?我可以相信你没有任何道理。我已经投票结束了你的问题。加入一个没有选择列的表是没有意义的。
SELECT MyTable1.* FROM MyTable1 
LEFT JOIN table2 ON table2.ID = 1234 
WHERE MyTable1.ID != 1234 AND MyTable1.CompanyName != table2.CompanyName;