SQL 里LEFT JOIN 和UNION 怎么一同使用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 里LEFT JOIN 和UNION 怎么一同使用?相关的知识,希望对你有一定的参考价值。

M_USER
ID NAME C_AUTHOR
AA AA 1001

M_author
C_AUTHOR NM_AUTHOR PAGE
1001 admin 1
1001 admin 2
1001 admin 3
我要GRID里显示M_author的NM_AUTHOR,但是DISTINCT LEFT JOIN后虽然显示1条记录,但是2条是隐藏的,页面条数还是3

那是你页数的查询语句有问题吧,distinct去重复只保留一条对啊,
你查询数量时用count(distinct nm_author)就只有1条了追问

用不来。。怎么加count
select distinct M.ID,M.NANE,MA.NM_AUTHORITY FROM M_USER M
LEFT JOIN M_AUTHOR MA
ON MA.CD_AUTHOR = M.CD_AUTHOR
显示后虽然显示
ID NAME AUTHOR
AA AA admin
现在我数据有10条1001的,但是翻页了。。

追答

你是在grid中写的语句查询吗?翻页是grid自带的还是你手写的?
一定有计算表数据数量的地方,才能显示翻页的页数,找到改之

参考技术A 不明白你说的什么意思
select b.NM_AUTHOR from M_USER a inner join M_author b
on a.C_AUTHOR=b.C_AUTHOR追问

你试试就知道了,如果100条话,虽然显示一条,下面一排空白的,GRID里自己翻页了。

追答

你描述的太不清楚了
不知道你说的什么,或者你截图

追问

你现在不加distinct 显示出来是
AA AA admin
AA AA admin

AA AA admin这样吧

但是加了distinct后虽然就显示
AA AA admin

???????
???????问号的两行显示虽然是空白,但是还是记录数还是3条啊
我有100条数据,grid显示出来页数就是第1页/共10页

追答

select b.NM_AUTHOR from M_USER a INNER join M_author b
on a.C_AUTHOR=b.C_AUTHOR GROUP BY NM_AUTHOR

不知道你要什么样的数据

参考技术B 如果你想查出所有记录就用下面的SQL语句:
select M.ID,M.NANE,MA.NM_AUTHORITY
FROM M_USER M
JOIN M_AUTHOR MA
ON MA.CD_AUTHOR = M.CD_AUTHOR

sql中join on两个条件怎么写

    表1 LEFT 表1.b=表2。

    表1.a=表2。

    FROM &nbsp.b WHERE 表2 JOIN&nbsp.

    a ANDON&nbsp: SELECT *&nbsp。

    结构化查询语言是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询,同时也是数据库脚本文件的扩展名。

    结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同 数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。

    1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言,1987年得到国际标准组织的支持下成为国际标准。

    结构化查询语言SQL是最重要的 关系数据库操作语言,并且它的影响已经超出 数据库领域,得到其他领域的重视和采用,如 人工智能领域的数据检索,第四代软件开发工具中嵌入SQL的语言等。

    SQL 是1986年10 月由 美国国家标准局通过的 数据库语言美国标准,接着,国际标准化组织颁布了SQL正式国际标准。1989年4月,ISO提出了具有完整性特征的SQL89标准。

参考技术A

您好:

SELECT *
  FROM 表1
  LEFT JOIN 表2 
    ON 表1.a=表2.a AND 表1.b=表2.b
 WHERE 条件

本回答被提问者采纳
参考技术B 最佳答案的那个仁兄是个啥毕

以上是关于SQL 里LEFT JOIN 和UNION 怎么一同使用?的主要内容,如果未能解决你的问题,请参考以下文章

left join ,right join ,inner join,outer join,union all,union有啥区别?怎么用?

oracle sql union all 合并多列

SQL Fundamentals || 多表查询(内连接,外连接(LEFT|RIGHT|FULL OUTER JOIN),自身关联,ON,USING,集合运算UNION)

sql中join on两个条件怎么写

求助,left join union right join一直报错

oracle sql语句的union效率问题【急】【急】【急】