基本上,我有一个类似如下的mysql查询:
mysql_query("SELECT n.title, v.value FROM posts n INNER JOIN votes v ON n.id = v.id");
我需要做的是从posts表中获取标题,并从votes表中获取当前投票值。
目前,除非发生投票,否则投票不会存储到投票表中。所以所有投票为0的帖子都不在投票表中。
这会导致错误,它试图获取标题和投票值,其中帖子id =投票值id。如果投票表中没有任何记录,那么value应该返回NULL或0,但是目前整个查询返回null,所以我甚至不能返回标题。
如何在一个查询中解决
当inv中有状态为1的列表时,需要查找subinv中没有subinv表中具有substatus 1的列表的记录。
在inv中,每个零件号只有一条记录,但在subinv中可以有多条记录,并且可以具有多个状态号之一。我的语句没有返回任何行,也没有显示错误,但是有符合条件的记录。
SELECT m.partnum
FROM inv m,
subinv s
WHERE m.status = '1'
AND not exists (SELECT s.partnum
FROM subi
我正在使用Join查询从多个正在工作的表中获取数据。
现在我的问题是,当其中一个表(tbl_Fees或membership_details)中没有记录时,我就得不到记录。总有一天我会犯错。它至少应该显示我的members记录。
我尝试了下面的代码
模型
public function Memberinfo(){
$getDetails = array('members.member_id'=>$this->session->userdata['login_session']['id'],'members.is_st
这是我的问题:
select distinct *
from purchase_records a
inner join purchase_items b on a.id = b.purchase_id
left join transactions c on a.id= c.purchase_id
它从两个表中获取记录。从左边得到一条记录,从右边得到多于一条的记录数。
问题是,当表返回记录时,它与精确的记录匹配,但根据行的左侧重复行的右侧。
如何在左侧获得一条记录,在右侧获得多条记录?我希望我的左连接显示一条记录,右连接显示与数据库中的记录一样多的记录。
表中包含贸易交易的数据。一项贸易交易(由deal_no标识)的表中可能有多条记录。但是,我只想选择一条记录。选择一条记录的条件取决于不同的情况。
从附图中,我需要选择具有最新step_release_date的记录,该记录是按照以下条件计算的:
CASE
WHEN (DEALSTP.IXSTP_OFFERING_DATE > 0 ) THEN (DEALSTP.IXSTP_OFFERING_DATE)
WHEN (DEALSTP.IXSTP_REL_DATE_A > 0 ) THEN (DEALSTP.IXSTP_REL_DATE_A)
ELSE (DEALSTP.IXSTP_R
我正在尝试执行一个简单的聚合查询,为某个日期范围内的用户汇总一些结果。我希望选择所有用户,如果他们没有适当的记录,查询应该只为他们返回0。
问题是,即使在表上使用右外部连接来选择用户is,它也只选择存在于左表的日期范围内的用户……
下面是查询:
select B.fld_strcode, sum(ISNULL(fld_val, 0)) as res
from tbl_transproc A right outer join tbl_pr B on A.fld_int_id = B.fld_auto_int_id
where A.fld_dtmservicedate between '2
我有两个表,对于这两个表,我只想在integrated_sys. =1 to main_sys中保留联接行。这些查询正在返回不同的行,我不知道原因。
查询结果见REXTESTER:
QUERY 1 - curr_flag filter is in WHERE clause
select
*
from
main_sys m
left join integrated_sys i on (m.master_id_sysa = i.master_id_sysa
or m.master_id_sy
假设我有两张桌子。TableLetters和TableNumbers.TableLetters有一列TheLetter和4条记录,A、B、C和D。对于一个TableLetters记录,TheNumbers是很多的。假设我们在TheNumbersTable TheLetter中有两列。见下文:
TheLetters
[TheLetter]
A
B
C
D
TheNumbers
[TheLetter][TheNumber]
A 1
A 2
A 3
B 1
B 2
如果在TheLetters表中没有TheLe
假设我有两个表lpn和lpn_detail,如果我们在lpn表中使用lpn_id,我们将只得到一条记录。如果我们在lpn_detail表中使用lpn_id,我们将得到多条记录,或者我们可能只得到一条记录。
当我们连接这两个表时,我需要一个条件,作为结果,Lpn_Detail的多个记录应该只读取。
select * from lpn inner join LPN_DETAIL
on lpn.lpn_id = lpn_detail.lpn_id
where 1=1
and lpn.LPN_FACILITY_STATUS='30'
and lpn.INBOUND_OUTBOUND_
我有这样的疑问:
Select
X.type1transsum, Y.type2transsum,
(X.type1transsum + Y.type2transsum),
X.`date`
From (
Select sum(trans) as type1transsum, `date`
from type1trans where shopcode = 1037
group by `date`
) X
Left join (
Select sum(trans) as type2transsum, `date`
from type2trans where sh
我正在努力学习SQL,想知道这样的事情是否可能发生。
Select *
from RDInfo RD
right outer join RDCollection RDC
on (RDC.RDInfoID = RD.RDInfoID and RDC.IsReceived = 1
and RDC.IsRenewed = 0) or -- RDInfoID not in table RDC
我试图从RDCollection获取数据,如果它满足花括号中写的3个条件,如果不满足,RDInfoID在RDC表中没有记录。这是在Sql 2005中实现的。
我希望我说得够清楚了。我
我有一个表A,它每年有多个记录。我想挑选本年度的最新唱片。如果本年度没有记录,我想选择年份字段中具有最新值的记录。有人能帮帮忙吗?
我在SQL Server2008 V2中有以下查询。
DECLARE @CurrentYear INT
SET @CurrentYear = YEAR(GETDATE())
SELECT Account,
COLUMN2,
COLUMN3,
YEAR_c
FROM A WHERE YEAR_c = @CurrentYear
如果表A中存在2017年度的多条记录,则此查询将返回所有记录。我想从这个列表中选择最新的记录。另
给定一个无向连通图,旅行者必须从node A多次旅行到node B。每个边都有一个正值,从node A到node B有多条路径。路径的值被定义为该路径中所有边的最小值。如果旅行者通过一条特定的路径从node A到node B,则路径中所有边缘的值都会根据路径的值(即该路径中所有边缘的最小值)而减小。The goal is to find the set of paths that give the maximum sum of values of all paths traveled.
注该图可能包含周期,但路径只能访问节点once。
举个例子,假设有4个节点( A、B、C、D ),旅
SELECT u.username, count(t.tid) as total
FROM tbl2 t
JOIN users u ON t.userid = u.userid
GROUP BY t.userid
上面的查询运行良好,它返回在tbl2表中至少有一个任务的每个用户的总任务数。
但是我想要做的是返回所有用户,即使用户在第二个tbl2表中没有任何与他相关的记录。对于那些没有任何记录的用户,我希望总数显示为0,我如何实现这一点?