Mysql多条件右连接不工作
我有两个表table1和table2,当将table2和table1连接在一起时,我没有得到这一行。这里我还附加了小提琴链接 上面我编写了select查询,但它返回空结果 但我希望输出如下所示 医嘱ID 1您必须使用OR子句更改AND子句,您将获得以下两条记录:Mysql多条件右连接不工作,mysql,join,Mysql,Join,我有两个表table1和table2,当将table2和table1连接在一起时,我没有得到这一行。这里我还附加了小提琴链接 上面我编写了select查询,但它返回空结果 但我希望输出如下所示 医嘱ID 1您必须使用OR子句更改AND子句,您将获得以下两条记录: select table1.* from table1 right JOIN table2 ON table2.table1_order_id = table1.orderid where
select table1.*
from table1
right JOIN table2 ON
table2.table1_order_id = table1.orderid
where
( table2.field_value LIKE '%karthi%'
AND table2.fname = 'name' )
OR (
table2.field_value LIKE '%salem%'
AND table2.fname = 'city'
)
group by table1.orderid
你应该解释你想做什么/哪些行?您希望获得/获得预期的输出。目前,您的连接条件包括table2.fname='name'和table2.fname='city',这显然是不正确的。没有得到哪一行&为什么?您正在得到您所要求的结果,因此,在您解释您的期望之前,您希望我们能够告诉您什么,但SQL就是这样工作的?非常好的是,在一个代码问题中,你给出了很多格式良好、经过修改、标记的问题。还请给出所需的和实际的输出,包括逐字记录错误消息、明确的规格和解释。这包括您能给出的最少代码,即您显示为OK的代码,由您显示为not OK的代码扩展。调试基础。Hi@solarflare philipxy我想得到orderid结果为1,因为我的右连接条件为true。请通过编辑澄清,而不是注释。但是你的评论是难以理解的,使用足够的单词、句子和引用部分例子来清楚、完整地表达你的意思。请扮演我的最后一条评论,这是先前评论的编辑版本&在您发布最后一条评论时发布。PS但是Solarflare的评论回答了你的问题,不是吗?你的观点总是错误的。你想要。。。或者…?是@Ishpreet,但它返回两行。我可以改为像和条件一样工作吗?如果您编写和条件,然后将其视为:其中field_值像“%karthi%”,field_值像“%salem%”。考虑这种情况,字段_值是否可以同时有两个值karthi和salem?如果只在一个表上查找,而不进行联接,则可以使用SELECT*从表2中获得任何结果,其中字段值为“%karthi%”,字段值为“%salem%”。只考虑这个简单的查询。实际上,我们想知道您期望的输出是什么,然后我们可以更好地帮助您进行查询。只显示您期望的数据。您好@ishpret,我期望我的查询返回orderid 1仅表示一行,而不是两行?
select table1.*
from table1
right JOIN table2 ON
table2.table1_order_id = table1.orderid
where
( table2.field_value LIKE '%karthi%'
AND table2.fname = 'name' )
OR (
table2.field_value LIKE '%salem%'
AND table2.fname = 'city'
)
group by table1.orderid