1. 程式人生 > >sql 一對多查詢分頁

sql 一對多查詢分頁

原理:先對主表進行了分頁查詢,然後再進行關聯查詢(下面用mysql舉例)

重點部分是(select * from user limit 0,2) u ,其實這句就是對主表先進行了一次分頁查詢,並查出所有資料,那麼接下來的關聯查詢,就會在這個主表查詢出來的結果裡進行了

SELECT
	u.id,
	u.login_name,
	u.remark,
	r.id AS role_id,
	r.role_name,
	r.app_id,
	r.web_page_ids,
	r.remark AS roleRemark,
	f.id AS function_id,
	f.function_name,
	f.function_icon,
	f.url,
	f.remark AS functionRemark
FROM
	(select * from user limit 0,2) u
LEFT JOIN user_role ur ON u.id = ur.user_id
LEFT JOIN role r ON ur.role_id = r.id
LEFT JOIN user_function uf ON u.id = uf.user_id
LEFT JOIN FUNCTION f ON uf.function_id = f.id

下面這出一張效果圖,只查詢出了前面兩個使用者,而前面查出來的16條資料,都是屬於使用者1的。


相關推薦

sql 一對查詢

原理:先對主表進行了分頁查詢,然後再進行關聯查詢(下面用mysql舉例) 重點部分是(select * from user limit 0,2) u ,其實這句就是對主表先進行了一次分頁查詢,並查出所有資料,那麼接下來的關聯查詢,就會在這個主表查詢出來的結果裡進行了 S

oracle 一對資料查詢篩選

今天專案測試執行的時候,遇到了一個奇怪的問題,這個問題說起來按sql語法的話是沒有錯誤的 但是呢按照我們的業務來做區分就有些邏輯上的錯誤了,   下面請聽我慢慢道來,在資料庫中有兩個資料, 先來看下第一次sql是如何寫的   查詢之後在外面做分頁,很正常的邏輯,但是大家都發現了

mybatis一對可能存在的問題即關聯查詢問題,巢狀的list中數量對不上

專案中遇到了一個小問題,在此記錄下,方便以後程式碼複用並且能快速排查這個小問題。 需求如下:評論和回覆是一對多的關係,並且根據評論進行分頁查詢,至於回覆數量不做限制,有多少就查多少。 存在問題:由於兩張表是用連線查詢,所以對於同一條評論存在多條回覆的情況,那麼用sql查詢出來的數量應該是由回

mysql一對關聯查詢錯誤解決

xml問價中查詢資料中包含list,需要使用collection <resultMap id="XX" type="com.XXX.XXXX"> <id column

mybatis 使用collection標籤實現一對查詢(使用)

在使用**ListPage分頁工具類進行分頁操作時,如果使用一對多查詢,會造成查詢出來每一頁資料數量不等於實際規定的每一個數據數量。原因在於,一對多查詢的結果是包含了與子錶鏈接的資料,例如在查詢10個訂單(order_header)資料時,假如有兩個訂單均包含2條訂單條目(

row_number() over 兩表連線SQL 一對的表關係 去重

--總條數 SELECT COUNT(1) FROM dbo.osaleh INNER JOIN dbo.osaled ON dbo.osaleh.osaleh_osalehID=dbo.osaled.osaled_osalehID WHERE --兩表連線分頁

bos 第4 (區域excel批量導入、區域通用查詢區的添加、條件查詢區導出excel)

sea htm 不能 長安 基金會 格式 address ret body BOS項目筆記 第4天 今天內容安排: 1、區域批量導入功能 jQuery OCUpload(一鍵上傳插件)、apache POI、pinyin4j 2、實現區域的分頁查詢 3、對分頁代碼重構

T-sql 行轉列,數據庫查詢

tput substr between dep and alt rom img lec 1 USE [APS_Future_FT] 2 GO 3 /****** Object: StoredProcedure [dbo].[A_CrudePrice] Scr

條件查詢

col new 解決 建表 bsp delete empty class writer 分頁實現後,通過多條件查詢後,內容如果需要分頁,容易出現切換頁面內容跳轉到查詢前的內容。解決方法可以通過將查詢後的內容建表,然後在進行分頁。 <?php

ORACLE查詢SQL語法——高效的

推薦 col 停止 sql 條件 esc 記錄 table select --1:無ORDER BY排序的寫法。(效率最高)--(經過測試,此方法成本最低,只嵌套一層,速度最快!即使查詢的數據量再大,也幾乎不受影響,速度依然!) SELECT * FROM (SEL

springboot jpa mongodb 條件查詢

sort ndt int integer mongod nbsp boot amp success public Page<Recorded> getRecordeds(Integer page, Integer size, Recorded recorded)

oracle 一對多數據查詢篩選

一次 style 函數 方法 定義 跳出循環 dad func left join 今天項目測試運行的時候,遇到了一個奇怪的問題,這個問題說起來按sql語法的話是沒有錯誤的 但是呢按照我們的業務來做區分就有些邏輯上的錯誤了, 下面請聽我慢慢道來,在數據庫中有兩個數據,

Mybatis-plus表關聯查詢查詢

學習plus真的覺得寫程式碼真的越來越舒服了。昨天開始接觸吧,只要學會了多表關聯查詢。plus就能隨意搭配使用了。 關於怎麼搭建的就自行了去研究了哦。這裡直接進入主題。 我用的是springboot+mybatis-plus。新專案我打算以後都是這樣了。   配置一個分頁外掛! im

SQL一對,子表關聯查詢

SQL一對多,子表關聯查詢 兩張表:主表A(合作伙伴),從表B(維修方式) 表關係:A:B-----1:N 表A: 只有2條合作伙伴記錄 表B: 主從表關聯欄位:partner_id 目前從表B中有兩條合作伙伴,共對應5條維修方式

條件查詢

只有繼承JpaSpecificationExecutor<>類,才能多條件分頁查詢。 eg: @Override public Page<OrderHistory> findAll(Pageable pageable, Long userId,

SQL 查詢 連線

問題:請設計一個關於使用者的訂單列表 1.查詢使用者名稱為張三的使用者(id="TianMao1003")的所有未支付的訂單資訊,並且按照新增時間排序。 2.針對問題1,進行分頁 3.針對問題1,進行分類,也就是該商品屬於那種屬性 (就是簡單的問題,欄位屬性資訊沒有認真的分

mybaits(查詢與別名、日誌框架顯示sql語句、物件屬性和資料庫表字段不匹配resultMap使用、mysql資料查詢、執行sql和儲存過程、動態SQL語句)

主要是各種配置檔案,建議把整個專案搬到自己電腦上慢慢看。 建立maven專案 首先是各種配置檔案: pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://m

EasyDemo*表&&查詢

一、多表查詢 select a1.ename,a2.dname,a1.sal from emp a1,dept a2 where a1.deptno=a2.deptno order by a1

sql一對,把查詢出來按照一列組裝GROUP_CONCAT

本節要用2個mysql 常用函式  1、GROUP_CONCAT2. case when then end一:需求,2個表zx_special_ref_phase (多)需要把1,2,3 轉成對於的漢字 遠端-面授-臨床實踐 並用“-”分隔符連線SELECT GROUP_C

幾種Sql查詢的寫法

  1.建立測試環境,(插入100萬條資料大概耗時5分鐘)。   create database DBTest use DBTest   --建立測試表 create table pagetest ( id int identity(