我正在尝试一些sql代码,它结合了来自2个表和用例的信息,但它没有返回所有数据。
SELECT TABLE1.PRODUCT, TABLE1.TYPE, TABLE1.AMOUNT,
(CASE
WHEN TABLE1.PRODUCT = 'RADIO'
THEN 100
ELSE 200
END) AS PRODUCT_CODE,
(CASE
WHEN TABLE1.TYPE = 'NEW'
THEN 'Y'
ELSE TABLE2.AGE
END) AS STATUS
FROM TABLE1 LEFT
目标是检索用户的过期金额摘要。group by子句似乎是问题所在,因为SUM函数调用需要它。我知道这可以通过子查询来实现,但出于性能方面的原因,我希望避免这种情况。 SELECT u.Name AS 'UserName'
SUM(i.Amount) AS 'PastDue'
FROM [User] u
LEFT JOIN [Invoice] i
ON i.UserId = u.Id
WHERE i.DueDate > GETDATE()
AND i.Paid = 0
我正在努力计算与id相关的行数。查询返回正确的数据。
SELECT T.`payment`, T.`time_left`, T.`time_arrived`, T.`group_separator`, MD.`group_name`
FROM Transaction T
LEFT JOIN Group G
ON T.`group_id` = G.`group_id`
LEFT JOIN division DI
ON G.`associated_group_id` = DI.`group_id`
LEFT JOIN meeting_data MD
ON G.`group_name` = MD.
我确信这有一个非常简单的答案,但我似乎找不到它(不确定要搜索什么!)。标准count / group by查询可能如下所示:
SELECT COUNT(`t2`.`name`)
FROM `table_1` `t1`
LEFT JOIN `table_2` `t2` ON `t1`.`key_id` = `t2`.`key_id`
WHERE `t1`.`another_column` = 123
这按预期工作,如果没有找到行,则返回0。但是:
SELECT COUNT(`t2`.`name`)
FROM `table_1` `t1`
LEFT JOIN `tabl
我有两个问题正在进行之中。我希望他们有同样的结果,但结果并非如此。我不明白为什么会这样。
查询1:
select a.* from
(
select *, _PARTITIONTIME as pt from
`table_A`
where
p > 5 and q != 0
) as a
left join
(select distinct x, pt from `table_b`) as b
on join_clauses
查询2:
select a.* from
table_A as a
left join
(select distinct x, pt from ta
首先从wp_posts表中的一个简单的select开始
select ID from wp_posts
这是输出:
'1'
'2'
'14'
'15'
'16'
'17'
...
它应该执行我的左连接查询
select a.ID from wp_posts a
left JOIN wp_postmeta b on b.post_id = a.ID
这是输出:
'1'
'1'
'1'
'2'
'2'
我不是SQL专家,所以我试图理解为什么两个查询的执行时间有很大的不同。
common_stats是一个大型表(300万行)。我只是想弄明白为什么表现有这么大的差异。
下面的查询大约需要15秒:
select distinct cs.basesalary_id
from common_stats AS cs
LEFT JOIN basesalary AS b ON b.id = cs.basesalary_id
WHERE (b.employee_id= 100 AND cs.amount > 0 AND cs.pay_id is null );
这个查询需要~.1秒:
select di
我在这里有一个相对简单的查询,它没有返回预期的行数。我认为下面的查询对于我的情况应该是正确的,但我必须在这里遗漏一些重要的东西,以确保不是所有的行都多次显示。
SELECT p.*, c.value AS color, g.value AS gender, p.value AS price
FROM products p
LEFT JOIN product_fields c ON c.product_id = p.id AND c.name = 'color'
LEFT JOIN product_fields g ON g.product_id = p.id AND g.n
我有一个SQL查询,如下所示:
SELECT A.*, C.value
FROM A
JOIN B ON B.group = A.group
JOIN C ON C.a = A.id
GROUP BY A.group
此查询返回一定数量的行。由于GROUP BY,如果A.group有相同值的多行,我将尝试指定想要的行--因此我添加了一个which子句:
SELECT A.*, C.value
FROM A
JOIN B ON B.group = A.group
JOIN C ON C.a = A.id
GROUP BY A.group
HAVING C.value = MIN(C.value)
我发现在某些情况下,像这样的查询
select
usertable.userid,
(select top 1 name from nametable where userid = usertable.userid) as name
from usertable
where active = 1
在SS2008R2中完成所需的时间比等效的join查询长一个数量级
select
usertable.userid,
nametable.name
from usertable
left join nametable on nametable.userid = us
从此SQL架构中,我希望计算用户在竞赛中的次数。
📷
SELECT * FROM users u
LEFT JOIN trials_has_users tu ON (tu.users_id = '1')
LEFT JOIN trials AS t ON (t.id = tu.trials_id)
WHERE u.id = '1';
以前,我有预期的行数,但我想计算一下。
SELECT contest_total FROM users u
LEFT JOIN trials_has_users tu ON (tu.users_id = '1')
LE
SELECT (b.descr || ' - ' || c.descr) description
FROM tbl1 a LEFT JOIN tbl2 b ON a.ACCOUNT = b.ACCOUNT
LEFT JOIN tbl3 c ON a.product = c.product
WHERE a.descr50 = ' ' ;
带有descr50 =‘’的table1只有7622行,但此select返回7649行。你能在这方面帮我吗?提前感谢
我不想显示我的整个查询,因为它是非常具体的,但我将尝试简短地解释。
下面的查询运行得很好,结果我得到了6000条记录。
SELECT
DISTINCT ID,
NAME,
CASE WHEN A.ID IS NULL THEN 'NOT EX.'
ELSE A.Whatever
END AS A_Whatever,
D.Z1 AS A.P
--AND SO ON......
FROM A
INNER JOIN A ON A.ID= B.ID AN
我正在尝试迁移一个旧的Server 2000 DataBase,我必须转换一些查询,我发现了一些非常奇怪的东西。
有这个旧的查询:
Select opo.opoId, fac.rate From
t_Oportunities opo, t_factors fac
Where
opo.facId *= fac.facId
And opo.clientGroup = @Group
我是这样迁移的:
Select opo.opoId, fac.rate From
t_Oportunities opo
Left Outer Join t_factors fac ON opo.facId =
优化以下SQL查询(使用postgresql 9.1)有困难:
WITH regions AS (
SELECT r1.region_id
FROM region r1,
(SELECT *
FROM region
WHERE region_id = 1) r2
WHERE (r1.region_country = r2.region_country
OR r2.region_country = 0)
AND (r1.region_provi
我有一个客户端表和三个相关细节表,从这个中可以看到。
我想做的是获取客户的数据和他们的相关行的最新联系日期。
我希望从该查询中创建一个视图,并能够通过操作符id进行筛选。我总是得到错误的行数来达到我的预期。
下面是我的查询,有人能帮我找出它为什么返回不正确的结果吗?
select c.*,cs.client_status,cn.client_note,cd.contact_date from clienti c
left join client_status cs on c.id = cs.client
left join client_notes cn on c.id = cn.client
我有下面的查询,它查看一个数据表,其中每一行都有一个ID、日期/时间和关键操作(以及其他数据)。此表无法更改,也不在我的控制范围之内。
该查询查找Create操作的匹配项(总是第一个),提取ID和创建日期/时间,然后在一行数据中提取其他关键操作(Add Info、Book Appt、Accept)的日期/时间:
SELECT _create.ID AS ID,
_create.`datetime` AS Create,
_inform.`datetime` AS Add_Info,
_bookap.`datetime` AS Book_Appt,
_accept.`datetime` AS
我有一个SQL查询,如下所示-非常简单。
SELECT
p.ProgressClaimID,
min(p.ClaimDate) as ClaimDate,
min(p.PClaimValue) as PClaimValue,
sum(d.total) as TotalDaycost,
sum(i.amount) as TotalInvoice,
sum(round(pcd.QtyClaimed * pcd.SellRate,2)) as SellClaim
FROM
(ProgressClaim as p
LEFT JOIN
我有两个表a和b。我想更新表a中的行,该行是来自表b中最早插入的每个id的最新插入,其中a.id = b.id 我一直在尝试在from中使用带有子select的update语句。如果我单独执行子查询,它会返回x行,但是当我执行整个update语句时,它会更新y行。 update a
set title = b.title
created_at = b.created_at
from
(
select
e.id,e.title,e.created_at
from
(
select
l.id,
l.tit
我有两张桌子A,B:
A包含两列,与B(千)相比,行数相对较少:
id, build_id (string)
B包含三列并有大量行(数以十万计):
id, build_id (string), task_id (string)
对于给定的构建,可能有许多任务。我希望获得一个表,其中包含每个生成的所有生成和最新任务id以及该生成的任务数。下面是我的查询:
SELECT
A.build_id,
MAX(B.id) as latest_task_id,
COUNT(DISTINCT B.task_id) AS task_count
FROM
A
LEFT
假设下面的查询返回的行总数必须等于发票表中的行数
SELECT VendorName, InvoiceNumber
FROM Invoices
LEFT JOIN Vendors ON Invoices.VendorsID = Vendors.VendorID
为什么当您用LEFT关键字替换RIGHT关键字时,此查询返回的行总数不等于供应商表中的行数?
对于缩进,margin-left很好地与其自身进行了叠加:
div div {
margin-left: 10px;
}
<div>
This is the main text. And below is something indented:
<div>
This is indented div with 10px margin
<div>
and this div get's another 10px, 20px total
</div>
</div>
<
我有两个查询,它们都运行良好,并得到了我正在寻找的结果。但是,我需要能够从另一个查询的结果中运行一个查询。这是mssql/mssql/sybase
例如,下面的查询可以计算每个值在cases表的“referred_link”列中显示的次数/行数,并且只显示出现3次或3次以上的次数/行数:
SELECT cases.referred_link, count(*)
FROM CASES
GROUP BY referred_link
HAVING COUNT(*) >= 3
下一个查询从各种表中提取一堆数据,并根据所需的条件进行筛选。问题是,我只希望第二个查询在第一个查询的结果上运行.在3+表
我有下面的mysql表。我一直在尝试选择与code列中值为B的行相关的所有行。该关系基于列trans_id的值
id trans_id code amount side
1 1 A 200 left
2 1 B 200 right
3 2 J 100 right
4 2 C 100 right
5 2 B 200 left
6 3 A 630 r