MySQL查询一些不在另一个表中的字段

我有两个表, members </ code>和 studentexam </ code>。 我想要取得未注册参加考试的会员。 这意味着他们在 studentexa </ code>中没有一行,其中 examID </ code>是一个特定的值。 我试过这个:</ p>

  $ result = mysql_query(“SELECT * FROM members 
WHERE accessLevel ='student'AND IDNo NOT IN(”SELECT studentID,examID FROM studentexam WHERE examID = $ examID“)
ORDER BY family ASC”);
</ code> </ pre>

我有两个问题。 首先,当使用sql语句进入另一个语句时出现语法错误,因为“。我试过了”但是再次出错。另外,我想如果在内部语句中只有 studentID </ code>然后得到了 正确的结果。但是这样我就不能使用 where </ code>子句。</ p>

任何帮助都将不胜感激。</ p>
</ div>

展开原文

原文

I have two tables, members and studentexam. I want to fetch the members who are not registered for an exam. It means they dont have a row in studentexa where examID is a specific value. I tried this:

$result=mysql_query("SELECT * FROM members                                      
    WHERE accessLevel='student' AND IDNo NOT IN ("SELECT studentID,examID FROM studentexam WHERE examID = $examID")
    ORDER BY family ASC");

I have two problems. First, there is a syntax error when use a sql statement into another because of ". I tried ' as well but got error again. the other, I guess if in the inner statement have just studentID then got the right result. But in that way I cant use the where clause.

Any help would be appreciated.

3个回答



#1 </ strong>您不需要围绕子查询的“”</ code> 。 </ p>

#2 </ strong>您不需要 SELECT </ code>一列就可以在 WHERE </ code>子句中使用它 。</ p>

  $ result = mysql_query(“SELECT * FROM members 
WHERE accessLevel ='student'AND IDNo NOT IN(SELECT studentID FROM studentexam WHERE examID = $ examID)
ORDER BY family ASC“);
</ code> </ pre>

你自己几乎回答了你的问题:p </ p>
</ div>

展开原文

原文

#1 You don't need the "" around the sub query.

#2 You don't need to SELECT a column to use it in the WHERE clause.

$result=mysql_query("SELECT * FROM members                                      
    WHERE accessLevel='student' AND IDNo NOT IN (SELECT studentID FROM studentexam WHERE examID = $examID)
    ORDER BY family ASC");

You pretty much answered your question yourself :p

dongshu9458
dongshu9458 Tanx很多:)。 我想,如果在WHERE子句中使用了examID,则必须选择它。
6 年多之前 回复



在这种情况下, NOT IN </ code>的替代方法可以是 LEFT JOIN </ code> :</ p>

  SELECT * FROM members m 
LEFT JOIN studentexam se ON m.idno = se.studentId
WHERE m.accessLevel ='student'AND se.studentId IS NULL AND examId = $ examID
ORDER BY m.family
</ code> </ pre>
</ div>

展开原文

原文

An alternative to the NOT IN in this case could be a LEFT JOIN:

SELECT * FROM members m
LEFT JOIN studentexam se ON m.idno = se.studentId
WHERE m.accessLevel = 'student' AND se.studentId IS NULL AND examId = $examID
ORDER BY m.family

dtxw20878
dtxw20878 Mosty Mostacho:我的报价有问题,你只是省略了它们
6 年多之前 回复



在子查询中,您不需要直接放置子查询</ p>

   $ result = mysql_query(“SELECT * FROM members 
WHERE IDNo NOT IN(SELECT studentID FROM studentexam WHERE examID = $ examID)ORDER BY family ASC”);
</ code> </ pre>

这就是你想要的,你不需要写accesslevel ='学生',因为我希望每个成员都有他唯一的ID。 编写accesslevel ='Student'只会增加MySQL的负载。</ p>
</ div>

展开原文

原文

In sub query you dont need to put "" just sub query direct

  $result=mysql_query("SELECT * FROM members                            
WHERE IDNo NOT IN (SELECT studentID FROM studentexam WHERE examID = $examID) ORDER BY family ASC");

And that's all you want and you don't need to write accesslevel = 'Student' as i hope that each member would have his unique ID. Writing accesslevel = 'Student' will just increase load on MySQL.

dqx13503925528
dqx13503925528 但是我需要它,因为成员表中还有其他级别的成员
6 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MySql 通过一个表的字段查另一个表的字段

A表中有个a字段,B表中也有个a字段,我现在想通过A表中的a字段关联B表中的a 字段,然后查询B表中的b字段,sql语句应该如何写 谢谢

SQL查询一个表中某个字段值与另一个表中字段值相同的记录

有两张表 A,B,都有字段 id, 查询A表中所有的 A.id 在 B表中也存在的记录

sql查询表中字段值在另一个表中的字段是否出现过

各位大神,小弟初学sql想请教一个问题~~先谢谢大家啦~~ 例如我有两个表: 表A:personal (人员表) pid name 1 aaa 2 bbb 3 ccc 4 ddd 5 eee 6 ffff 7 ggg 表B:metting (会议表,pidlist代表参加会议的人员,用“|”分隔) mid pidlist 1 |2|3|4| 2 |1|3|4| 3 |1|2|4| 我想要 列出表A中没有参加会议的人,如果按我的要求,以上数据得到的结果数据集应该是: pid 5 6 7 请问各位大神sql语句应该如何写?

mysql update 根据表中字段查询另一张表更新更新

mysql有两张表, 班级表class,包含 | id | name | ------------- | 1 | 一班 | ------------- | 2 | 二班 | 学生表student,其中classId为空,className有值并对应class表中的name | id | name | classId | className | ----------------------------------- | 1 | 一班 | | 一班 | ----------------------------------- | 2 | 二班 | | 二班 | ----------------------------------- | 3 | 一班 | | 一班 | ----------------------------------- | 4 | 二班 | | 二班 | 现在我想写一个sql根据student表中的className值,查询表class来更新student表的classId, sql类似于这种逻辑,不知道该怎么写,请指教 update student set classId = CASE WHEN className = '一班' THEN (SELECT id FROM class WHERE name = className ) WHEN className = '二班' THEN (SELECT id FROM class WHERE name = className ) END

mysql怎样把一张表的某个字段值拷贝到同一张表的另一个字段中(其中一个字段是主键)

mysql怎样把一张表的某个字段值拷贝到同一张表的另一个字段中(其中一个字段是主键) 写 UPDATE sys_area SET id = code 报 1336 - incorrect integer value:"for column 'code' at row 1 错误

如何查询出一个表中的其中一个字段的值在另一个表中不存在的记录

有两个表: [code="sql"]create table a( id VARCHAR(255) PRIMARY KEY, name CHAR(50) ); create table b( id VARCHAR(255) referrence foreign key a(id), name CHAR(50) )[/code] 问:如何查询出表a中id列的值在表b中不存在的记录. 目前我能想到的方法是: [code="sql"]SELECT * FROM ( SELECT a.*, b.id _id FROM a LEFT JOIN b WHERE a.id = b.id ) t WHERE t._id IS NULL;[/code] 有没有人能想到更好一点的方法? 请指教! 另外,我用的数据库是DB2.

可以用一个表中的特定字段通过id查询另一个表的信息吗?

表A有字段id name 表B有字段id score 可以通过输入name 查询到score吗

MySQL中 知道某一字段的值 如何查询 这一行数据中的 另一个字段是否存在某个值???

![图片说明](https://img-ask.csdn.net/upload/202005/05/1588666886_848398.jpg) 比如在这个表中,知道 “dormBuildId”字段的值为6,如何让查询包含这一字段的数据中的 “dormId”字段中 是否 存在 某个值(比如3)

mysql 嵌套查询,一个表的多个字段 作为另一个表的条件,求高手

SELECT daan FROM 表A WHERE daan IN (SELECT 选项1,选项2 FROM 表B)

mysql 嵌套查询,一个表的多个字段 作为另一个表的条件,若为空输出0,求高手

SELECT daan FROM 表A a,表B a WHERE daan=b.选项1 or daan =b.选项2 问题来了 若 从表A 查 表B的选项,daan为空,怎么输出0

mysql两张表查询 多个字段 怎么查询

假如两个表 一个是用户表一个是城市表 City表(所有的省市区都存在一个表里面 通过upid来区分省市区) id name upid 1 四川省 0 2 成都市 1 3 金牛区 2 然而用户表user中的字段里有 uid name province city district 1 测试 1 2 3 用户表中province city district对应的就是City表的id序号 那么我查询用户表的时候如何输出 1 测试 四川省 成都市 金牛区

Mysql怎么查询一个字段同一内容时,另一字段各内容出现的次数

如 字段A 字段B 1 2 1 3 1 3 2 4 3 1 3 1 统计结果是: 字段A 字段B=1 字段B=2 字段B=3 字段B=4 1 NULL 1 2 NULL 2 NULL NULL NULL 1 3 2 NULL NULL NULL 如果能将第一列的显示成字段A的值出现次数就更好了,如: 字段A 字段B=1 字段B=2 字段B=3 字段B=4 1(2) NULL 1 2 NULL 1(1) NULL NULL NULL 1 2(2) 2 NULL NULL NULL 小白求教。谢谢各位大佬

MySQL表连接:一个记录,两个字段,另一个表中的id

<div class="post-text" itemprop="text"> <p>I'd like to join two tables, producing a result where the IDs in the 2nd and 3rd columns of table2 are replaced by the corresponding <code>name</code> values from table1:</p> <pre> table1: id - name --------- 1 - Sam 2 - Ben 3 - Nick table2: id name1 name2 upvote downvote<br> 1 1(id of Ben) 3(id of Nick) 150 8 </pre> <p>So my goal here is to join these tables and produce:</p> <pre> 1 - Ben - Nick - 150 - 8 </pre> <p>How can I achieve this?</p> </div>

求助!!怎样在一个表多个不同字段中关联另一个表的一个字段,并显示不同内容

1、附各表的情况:![图片说明](https://img-ask.csdn.net/upload/201812/20/1545288947_16682.png) 2、查询语句:![图片说明](https://img-ask.csdn.net/upload/201812/20/1545289403_712052.png) 3怎样查询出mgr_business表中apply_user_id(关联申请人名称),first_approve_user_id(关联一级审批人姓名),second_approve_user_id(关联二级审批人姓名)? 谢谢!

mysql查询时使用聚合函数拼接字段

我在mysql中查询一个列表,使用了groupconcat函数聚合某些字段。效果如下: id rescode fieldA fieldB 001 00-A-001 valA1,valA2 valB1,valB2 其中fieldA 和fieldB字段的值被聚合,默认用,连接起来了。由于这两个字段是left join另一个表查出来的,和主表记录是多对一的。所以我想查询时把这两个字段合并成一个字段拼接起来,按这种格式:{valA1,valB1},{valA2,valB2},也就是按顺序对应起来。是不是应该自己写一个函数实现?应该怎么写?

解析一个字段以填充MySQL中的另一个字段

<div class="post-text" itemprop="text"> <p>I am new to PHP/MySQL and am working my way through the basics.</p> <p>I have a MySQL database scwdb (that I moved from Access 2000 which my Windows 7 won't work with) with a table tblsplintersbowlinventory which has 2 fields: </p> <p>fields and data:</p> <pre><code>txtProductBowlCode data examples: OakSc07-001, MapleTi07-030, MapleTi07-034, BlackLimba07-002, AshSc07-017 txtProductPrimarySpecies data examples: Oak, Maple, Maple, BlackLimba, Ash </code></pre> <p>In other words, I want to record just the species in the txtProductPrimarySpecies field.</p> <p>I tried the following PHP script:</p> <pre><code> &lt;?php $con = mysql_connect("localhost","xxxxxxx","zzzzzzz"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("scwdb", $con); $species = 'Maple'; mysql_query("UPDATE tblsplintersbowlinventory WHERE txtProductBowlCode LIKE $species SET txtProductPrimarySpecies=$species%"); echo "done"; mysql_close($con); ?&gt; </code></pre> <p>It seems to run, does not show an error and prints "done", but when I check the database I don't see any changes.</p> <p>What am I missing?</p> <p>This db has over 600 records, and I added this new txtProductPrimarySpecies field to make my searches easier while leaving the full code which has specific info on the bowl. There are several species that I need to do this to, so I plan on using a loop to run through a list of species. </p> <h1>How would I code that loop to read a list of species?</h1> <p>OK, I found the way to make this work!</p> <pre><code> &lt;?php $con = mysql_connect("localhost","xxxxxx","zzzzzzz"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("scwdb", $con); $species = 'Maple'; $result = mysql_query("UPDATE tblsplintersbowlinventory SET txtProductPrimarySpecies = '$species' WHERE txtProductBowlCode LIKE '$species%'"); $result = mysql_query("SELECT * FROM tblsplintersbowlinventory WHERE txtProductBowlCode LIKE '$species%'"); echo "&lt;table border='1'&gt; &lt;tr&gt; &lt;th&gt;Index&lt;/th&gt; &lt;th&gt;Bowl Code&lt;/th&gt; &lt;th&gt;Species&lt;/th&gt; &lt;/tr&gt;"; while($row = mysql_fetch_array($result)) { echo "&lt;tr&gt;"; echo "&lt;td&gt;" . $row['intProductID'] . "&lt;/td&gt;"; echo "&lt;td&gt;" . $row['txtProductBowlCode'] . "&lt;/td&gt;"; echo "&lt;td&gt;" . $row['txtProductPrimarySpecies'] . "&lt;/td&gt;"; echo "&lt;/tr&gt;"; } echo "&lt;/table&gt;"; echo "done"; mysql_close($con); ?&gt; </code></pre> <p>This worked, and I manually changed the $species value and ran it for each of the species of wood in the database...since this was a one time shot it made more sense not to use a list and loop through it - I was bound to miss one or two species anyway.</p> </div>

mysql两表联合查询,两个表结构一样,多个字段中的3个字段,只要这3个字段有重复的就罗列出来

a表与b表字段都是相同的,字段为: 险种,车牌,发动机号,车大架号 现在想实现的是: 只要a表的险种与b表的险种相同,并且a表的车牌,发动机号,车大架号与b表的车牌,发动机号,车大架号只要3个中的一个相同,则显示出来相同的记录。 a表创建及记录: DROP TABLE IF EXISTS `a`; CREATE TABLE `a` ( `xianzhong` varchar(30) DEFAULT NULL, `chepai` varchar(20) DEFAULT NULL, `fadongji` varchar(30) DEFAULT NULL, `chejiahao` varchar(30) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=gbk; INSERT INTO `a` VALUES ('DAA','吉B3120挂','无',''); INSERT INTO `a` VALUES ('DZA','吉B3120挂','无',''); INSERT INTO `a` VALUES ('DAA','暂未上牌','ABCD','无'); INSERT INTO `a` VALUES ('DAA','吉B3146挂','无',''); INSERT INTO `a` VALUES ('DZA','吉B3146挂','无',''); b表创建及记录: DROP TABLE IF EXISTS `b`; CREATE TABLE `b` ( `xianzhong` varchar(30) DEFAULT NULL, `chepai` varchar(20) DEFAULT NULL, `fadongji` varchar(30) DEFAULT NULL, `chejiahao` varchar(30) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=gbk; INSERT INTO `b` VALUES ('DAA','吉B3120挂','无','LH9B3G40090HHT174'); INSERT INTO `b` VALUES ('DZA','吉B3120挂','无','LH9B3G40090HHT174'); INSERT INTO `b` VALUES ('DAA','吉B12345','','1345'); INSERT INTO `b` VALUES ('DAA','吉B3146挂','无','LH9B3G40990HHT173'); INSERT INTO `b` VALUES ('DZA','吉B3146挂','无','LH9B3G40990HHT173'); a表及b表及想要的结果图片如下,请大家bangbang忙,实在想不到该怎么查询了,先谢谢大家了。 [img]http://dl.iteye.com/upload/attachment/0066/7629/962e1a43-686d-3d95-8ac2-6e40d518db81.jpg[/img] a表 [img]http://dl.iteye.com/upload/attachment/0066/7631/5a3e82d5-8875-3009-9669-eddad06e4bbe.jpg[/img] b表 [img]http://dl.iteye.com/upload/attachment/0066/7633/08c4bb48-fe27-3018-92fa-5c8e66800f1e.jpg[/img] 想要的查询结果

mysql下的将一个字段名的值复制到另一个字段名中(批量更新数据)

由于业务需求的更改,将原本两个下拉框合并成为一个下拉框,数据库的一些字段不在需要,而将不需要的字段对应的数据复制到其它字段中去,保证数据不丢失。类似 [code="java"] update crm_activity set entityType = 1,entityID = (select linkID from crm_activity where linkType = 2 ) ,entityName = (select linkName from crm_activity where linkType = 2) where linkType = 2 [/code]

MYSQL查询具有不同字段的两个表

<div class="post-text" itemprop="text"> <p>Here is my search query, which is putting out an argument error.<br> What do I need to do to correct it. Basically I need to put both of these tables together and pull out the next 5 events within the two tables by the <code>start</code> date. You will also notice that the last field in each table is different from one another.</p> <pre><code>$CEsql = mysql_query(" SELECT id, title, start, end, allDay FROM calendar WHERE mem_id='$logOptions_id' AND start &gt;= DATE_SUB( CURDATE( ) ,INTERVAL 0 MONTH ) UNION ALL SELECT id, title, start, end, allDay FROM team_calendar WHERE team_id IN ($team_array) AND start &gt;= DATE_SUB( CURDATE( ) ,INTERVAL 0 MONTH ) ORDER BY start ASC LIMIT 5"); </code></pre> <p>I am using MYSQL 5.0 and PHP.</p> <h3>Update</h3> <p><code>mysql_error</code> displays:</p> <blockquote> <p>1267: Illegal mix of collations for operation 'UNION'</p> </blockquote> </div>

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

立方体线框模型透视投影 (计算机图形学实验)

计算机图形学实验 立方体线框模型透视投影 的可执行文件,亲测可运行,若需报告可以联系我,期待和各位交流

2019 AI开发者大会

2019 AI开发者大会

组成原理课程设计(实现机器数的真值还原等功能)

实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

MFC一站式终极全套课程包

该套餐共包含从C小白到C++到MFC的全部课程,整套学下来绝对成为一名C++大牛!!!

软件测试2小时入门

软件测试2小时入门

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

计算机图形学-球的光照模型课程设计

计算机图形学-球的光照模型,有代码完美运行,有课程设计书

Linux常用命令大全(非常全!!!)

Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考: 系统信息 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 d...

因为看了这些书,我大二就拿了华为Offer

四年了,四年,你知道大学这四年我怎么过的么?

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

fakeLocation13.5.1.zip

fakeLocation13.5.1 虚拟定位 ios13.5.1的最新驱动下载,iPhone/iPad免越狱虚拟定位工具Location-cleaned驱动已更新

UnityLicence

UnityLicence

Python可以这样学(第一季:Python内功修炼)

Python可以这样学(第一季:Python内功修炼)

Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

土豆浏览器

土豆浏览器可以用来看各种搞笑、电影、电视剧视频

【数据结构与算法综合实验】欢乐连连看(C++ & MFC)案例

这是武汉理工大学计算机学院数据结构与算法综合实验课程的第三次项目:欢乐连连看(C++ & MFC)迭代开发代码。运行环境:VS2017。已经实现功能:开始游戏、消子、判断胜负、提示、重排、计时、帮助。

php+mysql学生成绩管理系统

学生成绩管理系统,分三个模块:学生,教师和管理员。 管理员模块:负责学生、老师信息的增删改;发布课程信息的增删改,以便让学生选课;审核老师提交的学生成绩并且打印成绩存档;按照课号查询每个课号的学生成绩

多功能数字钟.zip

利用数字电子计数知识设计并制作的数字电子钟(含multisim仿真),该数字钟具有显示星期、24小时制时间、闹铃、整点报时、时间校准功能

推荐24个国外黄色网站欣赏

在中国清朝,明黄色的衣服只有皇子才有资格穿,慢慢的黄色在中国就成了高贵的颜色。在人们的色彩印象中,黄色也表现为暂停。所以当你的网页设计采用黄色的时候,会让人们在你的网页前停留。 黄色,就像橙色和红色,黄色也是一个暖色。它有大自然、阳光、春天的涵义,而且通常被认为是一个快乐和有希望的色彩。黄色是所有色相中最能发光的颜色,给人轻快,透明,辉煌,充满希望的色彩印象。 黄色是一个高可见的色...

u-boot-2015.07.tar.bz2

uboot-2015-07最新代码,喜欢的朋友请拿去

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

学生成绩管理系统(PHP + MYSQL)

做的是数据库课程设计,使用的php + MySQL,本来是黄金搭配也就没啥说的,推荐使用wamp服务器,里面有详细的使用说明,带有界面的啊!呵呵 不行的话,可以给我留言!

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

C++语言基础视频教程

C++语言基础视频教程

玩转Python-Python3基础入门

玩转Python-Python3基础入门

相关热词 c# 解析cad c#数字格式化万 c#int转byte c#格式化日期 c# wpf 表格 c# 实现ad域验证登录 c#心跳包机制 c#使用fmod.dll c#dll vb 调用 c# outlook
立即提问
相关内容推荐