我在两个表中有要查询的数据。每个表都有不同数量的列,但它们都有一列,即vID,我想在查询中使用它。如果我要查询一个表,我会在WHERE子句中使用以下列:
"SELECT * FROM table1 WHERE vID = ?"
然后,我会将该光标用于我的listAdapter。
问题在同一个列表中,我还想显示另一个表中的数据:
"SELECT * FROM table2 WHERE vID = ?"
这两个表都有我希望在适配器中使用的日、月和年值,以及我希望使用的名称列。
我尝试过UNION,但返回了一个错误,因为两个表的列数不同。
我的查询应该是什么样子的?谢
我有一个带有主键和两个外键的表,这两个外键都允许NULLS。
当我分别为每两列创建索引时,查询运行大约2-3秒,返回大约300000行。
当我为这两列创建复合非聚集索引时,对于相同数量的行,查询运行大约10分钟。
需要注意的是,WHERE条件和OR子句中出现了两列,如下所示:
Select
SomeColumn
From
SomeTable
Where
FirstColumn = x OR SecondColumn = x
执行查询的平台是SQL2008 R2。
为什么在这两种情况下执行时间会有如此大的差异?
我有2个非常基本的表,每个只有1列。表" meats“列出了8或9种不同类型的肉,表" cheeses”列出了各种奶酪。
我知道如何从任一表(例如:SELECT * from cheeses WHERE LENGTH(c_item) > 5;)中提取包含超过5个字符的所有值,该表将返回名称中包含超过5个字符的任何奶酪名称。
但是当我尝试像这样加入这两者时:
SELECT
*
FROM
meats
JOIN
cheeses
WHERE LENGTH(m_item) OR LENGTH(c_item) > 5;
我不仅得到了笛卡尔结果,而且列出了
我有2组2个对应的表(总共4个表)。这两个集合仅在一列中对应。我希望查询在两个连接表中搜索这一列,并能够返回选定列中的值,即使该列在另一个表中不存在。
目前,我的查询如下所示:
select z
FROM A1
INNER JOIN A2
ON A1.x=A2.x
WHERE A1.x= '25'
UNION
select z
FROM B1
INNER JOIN B2
ON B1.x=B2.x
WHERE B1.x= '25'
只要我在寻找(连接的)表A和B有共同之处的列,UNION就可以工作。我希望能够从只存在于A或B中的列中获取值,但不必同时存在于这两个
我使用这个sql查询从两个没有匹配列的不同表中选择数据。
select * from (SELECT s.shout_id, s.user_id, s.time FROM shouts s
union all
select v.post_id, v.sender_user_id, v.time from void_post v)
as derived_table order by time desc;
现在有没有其他方法,或者只有使用这条sql语句,我才能区分两个表中的数据。
我在考虑一个可以在运行时创建的虚拟行(仅在select语句中),它将标记这两个表中的行。
因为我无法区
我有两个具有相同列的表,我需要将一个表的行复制到另一个表的行中,以创建一个包含这两个表中的所有值的大表。现在,我正在执行以下查询,以返回相同的内容:
SELECT col1, col2, col3 from Table1
union
SELECT col1, col2, col3 from Table2
然而,它看起来效率非常低,而且在我的系统上非常慢(返回1210189条记录)。
我有两个表Cars2016和Cars2015,它们的列完全相同。
我想简单地连接这两个表来创建这样的查询:
SELECT Mark, COUNT(Models) FROM (Cars2015 UNION Cars2016) GROUP BY Mark
这个查询的目的是要知道每一个标记有多少模型,累计年2015年和2016年。
怎样才能有效地实现呢?
谢谢!
我试图在两个不同表中的两个不同名称的列上创建一个UNION查询。
我想将表USER_EXCEL中的"short_material_number“列与IM_EXCEL表中的”short_material_number“列进行比较。然后,我希望查询只返回这两列之间的差异。这两列都包含材料编号,但在表中的名称(按列排列)不同。
到目前为止,我得到的是:
(SELECT [MTRL] FROM dbo.USER_EXCEL
EXCEPT
SELECT [short_material_number] FROM dbo.IM_Excel)
UNION ALL
(SELECT [sh
场景:--我有一个包含重复数据的表。这个表的一个列是ddate,如果它是空/空,我想选择该行(并删除它)。但由于某种原因,我无法找到直接查询的空行。
问题:当我运行以下查询(1)时,:
select
`ddate`,
count(1) as `nb`
from instrument_nt
group by `ddate`;
我得到了ddate为NULL的行数以及它具有其他值的行数。但是当我运行查询(2)时:
select count(*) from instrument_nt where `ddate` = Null;
或
select * from instrument_
我正在尝试对SQL LocalDB运行两个查询。其中一个执行得很快,而另一个则需要12秒,尽管区别只是添加到select和group by子句中的一列。
以下查询几乎不需要任何时间就能执行:
select [Company]
,sum([Hours]) as [Hours]
from [Operation View]
where company_id in (19,53,76,1)
and action_id in (5,21,23,30)
and [Report Date] >= '2014-04-01'
group by [Com
假设我有两个数据库具有相同的表名,但列名(empno,employee_no)不同,因此,我想在下面给出的两个表查询中使用单个查询,但我希望在单个查询中使用。在where条件下,我已经提到过有两个不同列,可以或不可以在单个查询中写入。 select ename
from emp
where empno = '1234'---- in 1st databse
select ename
from emp
where employee_no = '5678' ---- in 2nd database 我想在两个数据库中执行单个查询,这两个数据库有两个不同列
我使用以下代码从一个php文件中的数据库中获取数据:
$query_pedVR = sprintf("SELECT * FROM tablename WHERE active = 1 ORDER BY name ASC");
我需要做的是在一个查询中组合两个表,但似乎无法使其工作。我已经尝试了UNION ALL,但是找不到可以工作的语法。这不起作用:
$query_pedVR = sprintf("SELECT * FROM table1 UNION ALL SELECT * FROM table2 WHERE active = 1 ORDER BY name ASC&
我有一个使用两个SQL表(A和B)的数据上下文,这两个表是使用以下代码查询的: var query = from b in _ctx.A
.Where(b => b.Flag == true).Include(c => c.B)
select b; Flag列驻留在表A中。我想在查询中添加一个额外的where子句,用于检查表B中名为Qty的列的值是否大于10。 我尝试了以下代码,但得到一个错误:
我有一个包含两个列的链接表,用户组(用户int,组int)包含大约100亿行。每一列都有一亿个独特的值。在这两个字段上都创建索引。我必须找到用户数最多的组,它们属于指定的组。
我的疑问是
select group_id, count(*) as cnt
from usergroups GM
join (select user_id from usergroups where group_id=74437 LIMIT 100) G
on (GM.user_id=G.user_id)
group by group_id
having cnt > 10
o
我有一个SQL Server查询,如果PredComplDate列中至少有一个NULL或最新日期存储为NVARCHAR(30),则该查询会尝试选择NULL 奇怪的是,当我运行查询时,它会返回正确的结果,但当我的同事在同一台计算机上运行查询时,它会返回不同的结果。 我保存了同事以不同的名称运行查询时创建的表,并将其与我运行查询时创建的表进行了比较。所有内容都是一样的,记录数量、数据类型等,但是查询的以下部分由于某种原因没有返回NULL: SELECT [Reference Number],
CASE
WHEN LEN(Predecessors)>0 AND MA
我正在创建一个从多个表中选择数据的查询。我已经完成了所有查询,但现在我必须将WHERE子句应用于整个查询。我有9个select语句,它们工作得很好。正在从不同的表中选择数据。现在,我想声明date session,并希望根据提供的日期筛选所有数据。我使用下面的查询:
SELECT
(SELECT COUNT(DISTINCT OrderItems.ProductID)
FROM OrderItems) AS 'TotalSoldItemsDistinct',
(SELECT COUNT(OrderItems.ProductID)
FROM
我有一个名为'test‘的表
它包含一个名为'AND‘的列
为此,我使用以下查询
insert into test values ('a','abc');
insert into test values ('b','def');
现在我想从'test‘表中选择我的'AND’列
查询select AND from test;不起作用,因为AND是关键字
我试过了
select "AND" from test;
select 'AND' from test;
这两个查询都
我需要用不同的where条件从同一个表中查询出数据。
如下面的查询所示,我需要从同一个表中执行两个select查询,然后将结果合并为一个。
SELECT Username, AddTime
FROM Table1
WHERE Type = 3 AND AddTime>="2019-07-11 13:30:00" AND Username="Test1"
LIMIT 0, 1
SELECT Username, AddTime
FROM Table1
WHERE Type = 3 AND AddTime>="2019-07-11 13:40:0
我有一个包含7列的表,我已经在该表上创建了一个全文索引。但是,我注意到,使用freetext()进行的搜索不会在其中两个列上返回任何行,它会在其他列上返回行。
这里是我的查询
select * from dbo.ModelCategoryValues
where freetext(economyvalues,'24,29')
and freetext(featurevalues,'10')
and freetext(pricerangevalues,'15')
and freetext(performancevalues,'18,20
案例1:我有一个包含30列的表,我在where子句中使用4列进行查询。
案例2:我有一个包含6列的表,我在where子句中使用4列进行查询。
这两种情况下的性能差异是什么?
例如,我有一张桌子
table A
{
b varchar(10),
c varchar(10),
d varchar(10),
e varchar(10),
f varchar(10),
g varchar(10),
h varchar(10)
}
SELECT b,c,d
FROM A
WHERE f='foo'
create table B
{
b varchar
在一个表中,我有一个Date列,我想按月和年分组。
我创建了两个列:DateMonth和DateYear,并填充了相应的月份和年份:
UPDATE t SET DateMonth = DATEPART(month, Date), DateYear = DATEPART(year, Date)
这样,groupby查询就不会使用DATEPART() (sql函数不能利用索引)。
groupby查询如下:
SELECT DateMonth, DateYear, COUNT(*) AS RowsCount FROM t GROUP BY DateMonth, DateYear
考虑到这些信息,哪
我正在使用Server,我想编写一个查询,将表1中的数据附加到表2中,表2中已经包含了一些数据。
这是我目前正在使用的,但只有在列完全相同的情况下才能工作。我的两个表有相同的列,但顺序不同。有200+列,所以我不想手动重新排序,也不想在查询中列出它们。
INSERT INTO table2
SELECT * FROM table1
这是我可以这样做的一种方法,但是是否有一种方法可以将来自table1的数据附加到table2中,而不必指定每一列?
INSERT INTO table2
SELECT column1, column2 (in the order of table2
我正在进行一个项目,在这个项目中,我需要编写验证查询来验证数据。
因此,我有两个表1.输入表(原始数据) 2.输出表(协调数据),作为验证查询,我使用以下两个查询来获取结果&然后将两个结果复制到excel文件中,以验证数据是否有任何差异。
1查询
Select Date,sum(Val),sum(Vol)
From Input_table
Group by Date
2查询
Select Date,sum(Val),sum(Vol)
From Output_table
Group by Date
有没有办法将这两个结果放在一个查询中,并创建一个像.这样的计算列(sum(Input_ta
我有两张桌子,即- TDM & AccountMaster。这两个列都有三个相等的列,我必须创建一个表,从连接这三列的TDM-table中检索所有行,即FD_BRANCH,FD_CUSTCODE & PRODUCTID.
通过select into子句创建表时,我得到一个错误
每个表中的列名必须是唯一的。表'acty‘中的列名'FD_BRANCH’不止一次指定。
请查找以下查询,以便根据我的要求创建一个表:
SELECT * FROM (SELECT FD_BRANCH,FD_CUSTCODE,PRODUCTID FROM TDM
GROUP BY F
我需要两个查询的输出作为使用union的结果集,但是在一个查询中有数据类型为varchar2(60)的map_id,而在查询2中缺少这一列。Map_id实际上是存储在查询正在使用的表中的序列。查询2有一个没有map_id的表,我写了如下内容:
select * from
(select map_id,person_id,emp_num from table_abc)
UNION
(SELECT ROWID MAP_ID , PERSON_ID, EMP_NUM FROM TABLE_XYZ)
现在错误来了:
ORA-01790: expression must have sa
我使用以下查询从表wait_times中选择等待时间,其中用户id为1,然后选择具有等待时间的场所id的场所信息。
SELECT w . * , v . *
FROM `wait_times` AS `w`
INNER JOIN `venues` AS `v` ON `v`.id = `w`.venue_id
WHERE w.user_id =1
LIMIT 0 , 30
然而,当我执行这个查询时,因为我在两个表中都有名为user_id和id的列,所以我收到了每个列名对应的两批值。您能告诉我如何使这些值可区分,并将它们分别重命名为'table_name.columnnam
让我解释一下这个问题。
我有两个表,其中有3列具有相同的数据tpyes。如果您愿意,这3列将创建一个键/ID,但是表中的列的名称不同。现在,我正在为这两个表创建这3列的查询。我已经独立获得了这些结果
例如:
SELECT ID, FirstColumn, sum(SecondColumn)
FROM (SELECT ABC||DEF||GHI AS ID, FirstTable.*
FROM FirstTable
WHERE ThirdColumn = *1st condition*)
GROUP BY ID, FirstColumn
我的理解是,在( My )SQL中,SELECT DISTINCT应该对所有列执行与GROUP BY相同的操作,但GROUP BY执行隐式排序,因此这两个查询应该是相同的:
SELECT boardID,threadID FROM posts GROUP BY boardID,threadID ORDER BY NULL LIMIT 100;
SELECT DISTINCT boardID,threadID FROM posts LIMIT 100;
它们都给了我相同的结果,也给出了相同的EXPLAIN输出
+----+-------------+-------+------+--------
我将一个大型数据表的内容从一个表复制到另一个表,其中包含2个附加列,查询table1(原始数据)的方式是
select * from cc2;
但是相同的数据和另外两个列始终具有空值,因此无法正常执行。我必须放上limit子句才能让它执行。喜欢
select * from cc *limit 0,68000*;
数据库是一样的,表和内容是一样的。问题是为什么这种奇怪的行为。为了解析我的this data to foreach()循环,我必须运行for()循环,这会影响性能。任何建议都会尽快尝试和测试。
提前感谢天才们
我需要更新表中的一列。应该从另一个表中检索更新值。我所做的查询是语句:
update db1.t1 set location=(select countryName from db1.t1, db2.t2 where t1.num
between t2.beginNum AND t2.endNum limit 1)
我得到以下错误:
Error Code: 1093 You can't specify target table t1 for update in FROM clause.
然后,当我从FROM子句中删除表名t1时
update db1.t1 set location=(