jjzjj

subQuery

全部标签

sql - mysql 5 (5.1.42) 中的多列子选择

这似乎是一个简单的问题,但我不能在一个单一的选择或嵌套选择。检索作者和(如果有的话)顾问将纸(文章)排成一行。我为了说明问题,这里是两个数据表(伪)papers(id,title,c_year)persons(id,firstname,lastname)加上一个带有一个额外属性的链接表(伪):paper_person_roles(paper_idperson_idact_roleENUM('AUTHOR','ADVISER'))这基本上是一个书面论文列表(表:论文)和一个列表工作人员和/或学生(表:人员)一篇文章我有(1,N)位作者。一篇文章可能有(0,N)个顾问。一个人可以担任“作者

mysql - SQL:选择行不属于同一表内条件的事务

我有一张交易表:Transactions------------id|account|type|date_time|amount----------------------------------------------------1|001|'R'|'2012-01-0110:01:00'|10002|003|'R'|'2012-01-0212:53:10'|15003|003|'A'|'2012-01-0313:10:01'|-15004|002|'R'|'2012-01-0317:56:00'|20005|001|'R'|'2012-01-0412:30:01'|10006|00

mysql - 在单个查询中多次使用相同的子查询

我正在运行一个查询,其中包含在WHERE子句中多次使用的相同子查询。我有一个表,其中包含两个字段client_id、buyer_id。子查询返回要从结果中排除的日期列表。这就是我使用它的方式。SELECTid,client_id,buyer_idFROMrelationWHEREclient_idNOTIN(SELECTFROMWHERE...)ANDbuyer_idNOTIN(SELECTFROMWHERE...)这按预期工作,但令我困扰的是有两个相同的子查询。我想知道是否有一种方法可以使用它一次并将结果用于两个地方。谢谢。 最佳答案

mysql - 需要一个可以过滤结果的 MySQL 查询

这里的chapter_id可以是两个,也可以是两个以上。我需要以每章都给出等于no的输出的方式进行查询。问题。即如果总题为50题,分5章,则每章10题。SELECTid,chapter_id,question,answerFROM`questions`WHERE`chapter_id`IN(19,20,21,22,23)ORDERBY`chapter_id`我通过查询单独的查询来尝试它。即首先检查章节数并在数组中循环。有没有什么办法,我可以只通过一个查询来完成整个事情!谢谢!请有任何想法! 最佳答案 试试这个:SELECTid,ch

php - 从表中查询,这是从 Information_Schema.Tables 结果派生的

我不得不从一个包含50多个表的数据库中进行查询-所有表都具有相同的结构(我知道,来自已投入生产5年以上的遗留项目的可怕数据库设计!)。为此,我查询了information_Schema,如下所示:SELECTTABLE_NAMEFROMINFORMATION_SCHEMA.tablesWHERETABLE_SCHEMA='projectdatabase'ANDTABLE_NAMELIKE'%_usertable'结果为我提供了大约50个我需要的表。现在,我需要查询每个表中的列,例如PRODUCT_ID。为此,我尝试了:SELECTprojectdatabase.userTable.PR

MySQL 左连接子查询失败

以下查询在MySQL5.x中运行良好SELECTm_area.id,m_area.cn_areaName,m_area.de_areaName,m_area.en_areaName,m_area.jp_areaName,t_shop.countFROMm_arealeftjoin(selectt_shop.areaID,count(areaID)AScountfromt_shopgroupbyt_shop.areaID)t_shoponm_area.id=t_shop.areaID但是,当我必须在具有相同数据库结构和数据的4.0.23MySQL数据库中运行它时,它只返回以下消息:106

MySQL 左连接子选择

我有一个简单的语言/模板ID表:语言|模板en,t1恩,t1au,t2ge,t3恩,t1ge,t2ge,t3模板始终是t1、t2或t3。总共有3种语言:en、au、ge。表格中有更多信息,我只是展示了与这个问题相关的内容,我将使用数据作图,因此需要以这种格式返回:en,t1,3en,t2,0en,t3,0au,t1,0au,t2,1au,t3,0ge,t1,0ge,t2,1ge,t3,2这会计算每种语言中模板出现的次数。但是,如果表中没有该特定语言的模板ID,我遇到的问题是返回零计数。我在想它需要对模板ID进行某种左连接子选择,以确保为每种语言返回3个模板ID?

sql - MySql - 使用连接的子查询插入多行?

此查询将返回代表论坛话题的项目ID列表:SELECTidFROM`proj_objects`WHEREtype='fthread';此查询将用户(用户表中的ID为“37”)订阅ID为“122”的论坛主题:INSERTINTO`subscrips`VALUES(37,122);我想插入多行,让用户37订阅所有类型为fthread的项目对象。我可以在单个查询中执行此操作吗? 最佳答案 使用:INSERTINTO`subscrips`SELECT37,idFROM`proj_objects`WHEREtype='fthread'

mysql - 在 MySQL 的选择查询中使用 CASE、WHEN、THEN、END

我在一个与棒球相关的网站上工作。我有一张table,上面有两支棒球队的击球阵容:+----+----------+--------------+--------+|id|playerId|battingOrder|active|+----+----------+--------------+--------+击球顺序是1到20之间的整数,对应逻辑如下:击球顺序1-9—客队阵容击球顺序10—客队投手击球顺序11-19—主队阵容击球顺序20—主队投手active字段是一个tinyint0或1,代表投手在土墩上,击球手在本垒板上。已知事实:始终会有一名来自一支球队的现役投手和一名来自另一支球

mysql - 如何返回mysql子查询的行数

我有以下SQL查询:SELECTgames.id,games.GameTitleFROMgamesWHEREEXISTS(SELECTfilenameFROMbannersWHEREbanners.keyvalue=games.idANDbanners.filenameLIKE'%front%')这对我来说不太正确我想要的是这样的:SELECTgames.id,games.GameTitleFROMgamesWHEREEXISTS(COUNT(SELECTfilenameFROMbannersWHEREbanners.keyvalue=games.idANDbanners.filena