草庐IT

INSERT-SELECT

全部标签

sql - MySQL SELECT 从一组从 INFORMATION_SCHEMA 检索的表中

大家好。我有以下一组表格,这些表格是可变的并且每天都会累加:data-2010-10-10data-2010-10-11data-2010-10-12data-2010-10-13等等。所有表都具有相同的结构,我想做的是一次从所有表中选择内容。我无法使用MERGE表,因为我正在运行InnoDB。无论如何,我正在使用以下语句从我的information_schema中选择表名:selecttable_namefrom`information_schema`.`tables`where`table_schema`='mydb2'and`table_name`like'data-%'返回所有

mysql - SELECT 从同一表中获取两个条目,按日期区分,在一行中

我有一张表,其中保存着不同的仪表(水表、电表),而在另一张表中,我保存了每个仪表的读数。表结构是这样的:仪表台MeterID|MeterType|MeterName读数表:ReadingID|MeterID|Index|DateOfReading仪表的读数每月读取一次。我现在要做的是在一行中获取仪表信息、当前读数和先前读数。因此,如果我有一个查询,将产生以下行:MeterID|MeterType|MeterName|CurrnetIndex|LastIndex到目前为止我有以下查询:SELECTMeter.MeterID,Meter.MeterType,Meter.MeterName,

sql - 来自 SELECT 和来自 VIEW 内的 SELECT 的不同结果

SELECT语句的结果与VIEW中的SELECT的结果不同。如何解决问题并从View中获得相同的结果?Action表:+--+---------+--------------+-----------+------+|id|person_id|action_type_id|currency_id|sum|+--+---------+--------------+-----------+------+|1|1|1|1|1.00||2|1|1|1|5.00||3|1|1|2|10.00||4|1|2|1|2.00||5|2|1|1|20.00||6|2|2|2|5.00|+--+------

sql - mysql:有没有办法做一个 "INSERT INTO"2 表?

我有一个包含2列的表,我基本上想将其拆分为2个表:表A列:user_id、col1、col2新表:B:user_id,col1C:user_id,col2我想做的事:INSERTINTOB(user_id,col1)SELECTuser_id,col1fromA;INSERTINTOC(user_id,col2)SELECTuser_id,col2fromA;但我想在一个声明中做到这一点。table很大,所以我只想一次完成。有办法做到这一点吗?谢谢。 最佳答案 不可以,不能同时插入多个表。INSERT语法只允许一个表名。http:/

MySQL select where in but not in with join

我的数据库中有三个表:产品id(整数,主键)名称(可变字符)标签id(整数,主键)名称(可变字符)产品标签产品编号(整数)tag_id(整数)我正在执行SQL查询以选择具有给定ID的已分配标签的产品:SELECT*FROMProductsJOINProductTagsONProducts.id=ProductTags.product_idWHEREProductTags.tag_idIN(1,2,3)GROUPBYProducts.id我可以选择没有指定ID标签的产品:SELECT*FROMProductsJOINProductTagsONProducts.id=ProductTags

MySQL:如何在另一个 INSERT 中使用一个 INSERT 的结果

我需要在另一个插入中使用一个插入的结果键。MySQL可以吗? 最佳答案 mysql_insert_id返回您可以使用的最后插入记录的IDRetrievestheIDgeneratedforanAUTO_INCREMENTcolumnbythepreviousquery(usuallyINSERT). 关于MySQL:如何在另一个INSERT中使用一个INSERT的结果,我们在StackOverflow上找到一个类似的问题: https://stackoverf

MySQL SELECT 计数器,分组依据

我不确定我所要求的是否可能......但它可能是哈哈。基本上,我有两个表,轨道和专辑。我想显示所有轨道的列表并从专辑部分获取名称。表格如下所示:tbl_tracksid-int,autoincrement,primarykeyalbum_id-inttitle-varchar50和tbl_albumsid-int,autoincrement,primarykeytitle-varchar50现在,我运行查询:SELECTtbl_tracks.title,tbl_albums.titleFROMtbl_tracks,tbl_albumsWHEREtbl_tracks.album_id=t

Mysql select distinct 但限制不同的值

这可能令人困惑,但我想做的是基本选择不同的columnx限制3,我遇到的问题是它返回3行,但我只想从一个不同的columnx中获取所有值。id|columnx1|here2|here3|Idontwant4|Apple所以我想要一个将返回1和2的查询。问题是columnx可以是任何东西,我不能只说wherecolumnx='here'限制3发挥作用是因为它已硬编码到我的C#应用程序中。问题是我还设置了一个基于columnx的哈希集,我必须为所有记录设置静态的columnx。但是,对于我放在一起的每个查询,有可能在我的限制下我将在columnx中返回2个值,但是,它们是不同的值,但是我每

MySQL:INSERT IGNORE 或 ON DUPLICATE KEY UPDATE 检查多个列而不是唯一列

如果存在包含特定值的行,我想插入行,如果不存在,则更新它。具体来说:user_id=5,user_zip=12345,distance=600列存在于数据库中。如果我尝试插入user_id=5,user_zip=12345,distance=700它应该只更新distance但我尝试插入user_id=5,user_zip=67890,distance=800它应该插入一个新行。我无法定义列user_zip和distance唯一,因此我可以使用重复键更新。 最佳答案 我认为您误解了ONDUPLICATEKEYUPDATE的工作原理。

MySQL SELECT * WHERE 名称 = "something with a backslash\"

我有一张tabletable_id|name|amount1|Arby\'s|122|Wendy's|8我通常做一个SELECT*WHEREtable_id=whatever但我想(而不是)做:SELECT*WHEREname="Arby's";但是,我似乎遇到了反斜杠的问题。结果根本不显示。我也试过SELECT*WHEREname='Arby's;没有任何运气。如果名称包含撇号或其他特殊字符(&符号等),是否有任何方法可以按名称搜索? 最佳答案 SELECT*FROMtableWHEREname='Arby\\\'s'用一个反斜杠