Khóa Học SQL Server - Bài 28. Sub Query | Nested Query - Truy vấn con, truy vấn lồng nhau

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ต.ค. 2024

ความคิดเห็น • 56

  • @lngye1505
    @lngye1505 6 หลายเดือนก่อน

    Xin cảm ơn thầy ạ.
    Sau đây là phần bài tập:
    --Bài tập.
    --Hãy in ra mã đơn hàng và số lượng sản phẩm của đơn hàng đó.
    select o.OrderID, (select count(*)
    from "Order Details" od
    where o.OrderID = od.OrderID
    ) as "Total"
    from Orders o
    order by "Total";

    • @ezfinvest2717
      @ezfinvest2717 5 หลายเดือนก่อน +1

      Hi bạn, cho mình hỏi tại sao kết quả của bạn = 1 hết vậy, ở cột total á bạn.

  • @vuduydung7075
    @vuduydung7075 9 หลายเดือนก่อน +1

    Cám ơn anh vì những bài học bổ ích!
    -- In ra mã đơn hàng và số lượng sản phẩm của đơn hàng đó
    SELECT o.OrderID, (
    SELECT SUM(od.Quantity)
    FROM dbo.[Order Details] od
    WHERE o.OrderID = od.OrderID) AS 'TotalQuantity'
    FROM dbo.Orders o;
    830 dòng

  • @TriNguyenLeMinh-q6o
    @TriNguyenLeMinh-q6o 17 วันที่ผ่านมา

    cám ơn anh vì những bài giảng bổ ích, em xin gửi bài tập ạ
    --bt1: in ra mã đơn hàng và tổng giá trị của đơn hàng đó
    select o.OrderID,
    round((
    select sum((od.Quantity*od.UnitPrice)*(1-od.Discount))
    from [Order Details] od
    where od.OrderID = o.OrderID
    ),2) as TotalPrice
    from [Orders] o
    ;
    em có một thắc mắc ở bài giải của anh: tại sao mình phải thêm as temp ạ
    select ProductName, TotalOrders
    from
    (
    select p.ProductID, p.ProductName,
    (
    select count(od.OrderID)
    from [Order Details] od
    where od.ProductID = p.ProductID
    ) as TotalOrders
    from [Products] p
    ) as temp --> thắc mắc: tại sao ở đây phải as temp
    ;

  • @Orijin_Tran
    @Orijin_Tran 6 วันที่ผ่านมา

    Em nộp đáp án bài tập ạ:
    select o.OrderID, (
    select sum(Quantity)
    from dbo.[Order Details] od
    where od.OrderID = o.OrderID
    ) as total_products
    from dbo.Orders o

  • @hieuvincent791
    @hieuvincent791 11 หลายเดือนก่อน +1

    Cám ơn anh :)
    -- Bài tập 1: Bạn hãy in ra Mã đơn hàng, và tổng số lượng sản phẩm của đơn hàng đó.
    SELECT o.OrderID, (
    SELECT SUM(od.Quantity)
    FROM dbo.[Order Details] AS od
    WHERE od.OrderID = o.OrderID
    ) AS [Tổng số lượng sản phẩm]
    FROM dbo.Orders AS o;
    ==> 830 dòng
    SELECT o.OrderID, SUM(od.Quantity) AS [Tổng số lượng sản phẩm]
    FROM dbo.Orders AS o
    LEFT JOIN dbo.[Order Details] AS od
    ON od.OrderID = o.OrderID
    GROUP BY o.OrderID;
    ==> 830 dòng

    • @nguyentrunghau3464
      @nguyentrunghau3464 11 หลายเดือนก่อน

      Tui cũng đang học giống bạn nè hihi

    • @hieuvincent791
      @hieuvincent791 11 หลายเดือนก่อน

      @@nguyentrunghau3464 welcome bạn ;)

  • @tuongpham986
    @tuongpham986 5 หลายเดือนก่อน

    Bài tập của thầy:
    select o.OrderID,(
    select count(od.ProductID)
    from [Order Details] as od
    where od.OrderID = o.OrderID
    ) as [Số lượng sản phẩm trong đơn hàng đó ]
    from Orders as o
    Thử thách:
    - Dựa vào 2 bảng Order Details và Orders
    + In ra mã đơn hàng
    + Tổng giá trị đơn hàng trên từng mã hóa đơn

    • @tuongpham986
      @tuongpham986 5 หลายเดือนก่อน

      Đáp án của thử thách:
      select o.OrderID,(
      select sum(od.Quantity*od.UnitPrice)
      from [Order Details] as od
      where od.OrderID = o.OrderID
      ) as [Total]
      from Orders as o

  • @atdevil4515
    @atdevil4515 5 หลายเดือนก่อน

    Em cảm ơn thầy ạ
    BT:
    --Bạn hãy in ra mã đơn hàng và tổng giá trị của đơn hàng đó
    SELECT o.OrderID, (
    SELECT COUNT(*)
    FROM [dbo].[Order Details] od
    WHERE od.OrderID = o.OrderID
    )
    FROM [dbo].[Orders] o

  • @ancuongpham1764
    @ancuongpham1764 ปีที่แล้ว +1

    select O.OrderID,(
    select count(ProductID)
    from [Order Details] as OD
    where O.OrderID=OD.OrderID ) as "Số lượng sp"
    from Orders as O

  • @ngocbich7545
    @ngocbich7545 หลายเดือนก่อน

    Cho em hỏi chút ạ, ở ví dụ 1: phút thứ 6:49, em dùng hàm này sai ở đâu ạ
    SELECT P.ProductID,P.ProductName,P.UnitPrice
    FROM[dbo].[Products] AS P
    GROUP BY P.ProductID,P.ProductName,P.UnitPrice
    HAVING P.UnitPrice > AVG([UnitPrice]);

  • @tv-nguyen3554
    @tv-nguyen3554 6 หลายเดือนก่อน

    Trùi ui nay mới rảnh zô coi video của thầy nè

  • @aoe-ct4480
    @aoe-ct4480 ปีที่แล้ว

    Bài tập
    SELECT
    o.OrderID,
    (
    SELECT SUM(od.Quantity)
    FROM [Order Details] od
    WHERE o.OrderID =od.OrderID
    )
    AS "Tổng số sản phẩm"
    FROM Orders o
    cám ơn thầy./.

  • @thekop5590
    @thekop5590 2 หลายเดือนก่อน

    -- Bài tập: Bạn hãy in ra mã đơn hàng và tổng giá trị của đơn hàng đó.
    -- cách 1:
    SELECT O.OrderID, SUM(OD.[UnitPrice]*OD.[Quantity]) [TotalPrice]
    FROM [dbo].[Orders] O
    LEFT JOIN [dbo].[Order Details] OD
    ON O.OrderID=OD.OrderID
    GROUP BY O.OrderID
    -- cách 2:
    SELECT O.OrderID, (
    SELECT SUM(OD.UnitPrice * OD.Quantity)
    FROM [dbo].[Order Details] OD
    WHERE OD.OrderID = O.OrderID
    ) AS TotalPrice
    FROM [dbo].[Orders] O;

  • @ucNguyen-tp9jz
    @ucNguyen-tp9jz 10 หลายเดือนก่อน +2

    Càng về những bài sau thì những câu trả lời mọi người lại càng khác nhau -_-

    • @minhanhhoang8634
      @minhanhhoang8634 3 หลายเดือนก่อน

      công nhận :)) nhưng mà anh ý nên thả tim comment nào trả lời đúng thui chứ nhỉ, đằng này comment nào cũng thả tim làm mình ko biết so kết quả vs comment nào luôn :v

  • @OrangeD187
    @OrangeD187 4 หลายเดือนก่อน

    --Bạn hãy in ra mã đơn hàng và số lượng sản phẩm của đơn hàng đó
    --Cách 1
    select OD.OrderID , count(P.ProductID) as SLSP
    from [Order Details] as OD , Products as P
    where OD.ProductID = P.ProductID
    group by OD.OrderID
    Order by OD.OrderID ASc
    --cách 2 --
    select O.OrderID , (select count( OD.ProductID )
    from [Order Details] as OD
    where OD.OrderID = O.OrderID
    ) as SLSP
    from Orders as O

  • @longtran8099
    @longtran8099 11 หลายเดือนก่อน

    --BT: hãy in ra mã đơn hàng và số lượng sản phẩm của đơn hàng đó
    --cách1:
    select o.[OrderID],
    ( select sum(od.Quantity)
    from [dbo].[Order Details] od
    where o.OrderID = od.OrderID
    ) as[TotalProducts]
    from [dbo].[Orders] o
    ->kết quả 830 rows
    --cách2:
    select o.[OrderID], sum(od.Quantity) as [TotalProducts]
    from [dbo].[Orders] o
    left join [dbo].[Order Details] od
    on o.OrderID = od.OrderID
    group by o.[OrderID]
    ->kết quả 830 rows

  • @AlanTran18
    @AlanTran18 6 หลายเดือนก่อน

    Giải bài tập :
    SELECT O.OrderID, (
    SELECT SUM(Od.UnitPrice*Od.Quantity)
    FROM [Order Details] AS Od
    WHERE Od.OrderID = O.OrderID
    ) AS [Tổng Giá Trị Đơn Hàng]
    FROM Orders AS O

  • @nguyenthanhnhut4304
    @nguyenthanhnhut4304 9 หลายเดือนก่อน +1

    -- Hãy in ra mã đơn hàng và số lượng sản phẩm của đơn hàng đó
    SELECT OrderID, SUM(Quantity) AS [TotalQuantity]
    FROM [Order Details]
    GROUP BY OrderID
    -- Sub query
    SELECT o.OrderID, (
    SELECT SUM(od.Quantity)
    FROM [Order Details] od
    WHERE od.OrderID = o.OrderID
    ) AS [TotalQuantity]
    FROM Orders o

  • @ダンティフイントゥ
    @ダンティフイントゥ 8 หลายเดือนก่อน

    mac du 2 kq giong nhau nhung vs vd cuoi co the thay the bang
    SELECT COUNT(DISTINCT od.OrderID)
    bai tap
    --In ma don hang va tong gia tri cua moi don hang
    SELECT o.OrderID,
    (
    SELECT COUNT(od.UnitPrice*od.Quantity)
    FROM [dbo].[Order Details] od
    WHERE o.OrderID= od.OrderID
    ) CountOfEachOrder
    FROM [dbo].[Orders] o;

  • @hnq145
    @hnq145 ปีที่แล้ว

    SELECT o.[OrderID] ,(
    select COUNT(od.Quantity)
    from [Order Details] as od
    WHERE o.OrderID = od.OrderID
    ) as 'Số lượng sp của đơn hàng'
    from Orders as o
    go

  • @LaiThe-l7h
    @LaiThe-l7h ปีที่แล้ว

    BT:
    SELECT O.OrderID,(
    SELECT SUM(OD.UnitPrice*OD.Quantity)
    FROM [Order Details] AS OD
    WHERE OD.OrderID =O.OrderID
    ) AS Total
    FROM Orders AS O;

  • @haovinh4919
    @haovinh4919 ปีที่แล้ว +1

    SELECT o.[OrderID] , (
    select count(od.ProductID)
    from[dbo].[Order Details] as"od"
    where od.OrderID=o.OrderID
    ) as "Số sp trong đơn"
    FROM [dbo].[Orders] as "o";

  • @Mon93-tt
    @Mon93-tt 8 หลายเดือนก่อน

    hú hú
    -- in ra mã đơn hàng và số lượng sản phẩm của đơn hàng đó
    select a.OrderID,sum(b.Quantity) 'Sô lượng sản phẩm đơn hàng'
    from Orders as a
    join [Order Details] as b
    on a.OrderID = b.OrderID
    group by a.OrderID

  • @vivi326
    @vivi326 3 หลายเดือนก่อน

    -- in ra mã đơn hàng, và số lượng sản phẩm của đơn hàng đó
    SELECT O.OrderID, (
    SELECT COUNT (OD.ProductID)
    FROM [Order Details] OD
    WHERE OD.OrderID = O.OrderID
    ) AS [SL SP]
    FROM Orders O;

  • @vokieuthynga
    @vokieuthynga 10 หลายเดือนก่อน

    --In ra mã đơn hàng và TỔNG số lượng sp của đơn hàng đó từ bảng
    --C1
    SELECT OD.OrderID, SUM (OD.Quantity) AS TotalProduct
    FROM OrderDetail AS OD
    GROUP BY OD.OrderID
    --C2
    SELECT O.OrderID, (
    SELECT SUM (OD.Quantity)
    FROM OrderDetail AS OD
    WHERE OD.OrderID = O.OrderID
    ) AS TotalProduct
    FROM Order AS O

  • @rabbittanksuperbestmatch4259
    @rabbittanksuperbestmatch4259 5 หลายเดือนก่อน

    -- Bài tập
    SELECT *,
    (
    SELECT SUM(od.Quantity)
    FROM [Order Details] AS od
    WHERE od.OrderID = o.OrderID
    ) AS [Quantity]
    FROM Orders AS o;

  • @dunthle
    @dunthle ปีที่แล้ว +2

    càng ngày độ khó càng cao a ơi

  • @Shut-Up-Lu-Ngu
    @Shut-Up-Lu-Ngu 3 หลายเดือนก่อน

    SELECT OrderID, (SELECT SUM(a.UnitPrice * a.Quantity) FROM [Order Details] AS a, Orders AS b WHERE a.OrderID = b.OrderID ) AS [TotalOrders] FROM Orders b

  • @thuanmean200
    @thuanmean200 7 หลายเดือนก่อน

    không biết cách này chuẩn chưa nhỉ mong mn nhận xét
    BT:
    SELECT Order.OrderID, Order Details.Quantity as 'TotalNumberProduct'
    FROM Orders
    left join Orders Detail on Order.OrderID = Order Details.OrderID
    WHERE Order Details.Quantity = (SELECT COUNT(Order Details.Quantity)
    FROM Orders
    WHERE Order.OrderID = Order Details.OrderID))

  • @DungNguyen-tf6uz
    @DungNguyen-tf6uz ปีที่แล้ว

    --Hay in ra na don hang, va tong so luong san pham cua don hang do
    SELECT o.OrderID,
    (SELECT COUNT(od.ProductID)
    FROM [dbo].[Order Details] AS od
    WHERE o.OrderID = od.OrderID) AS [Total]
    FROM [dbo].[Orders] AS o

  • @thanggg4946
    @thanggg4946 7 หลายเดือนก่อน

    SELECT O.OrderID,(
    select SUM(od.[Quantity])
    from [dbo].[Order Details] OD
    where od.OrderID = o.OrderID
    ) AS [Total]
    FROM [dbo].[Orders] O;

  • @nguyentrunghau3464
    @nguyentrunghau3464 11 หลายเดือนก่อน

    --BÀI TẬP
    --BẠN HÃY IN RA MÃ ĐƠN HÀNG VÀ TỔNG GIÁ TRỊ CỦA ĐƠN HÀNG ĐÓ
    --CÁCH 1
    SELECT [OrderID] ,(
    SELECT SUM(OD.Quantity)
    FROM [dbo].[Order Details] OD
    WHERE O.OrderID = OD.OrderID
    ) AS SUM --830 ROWS
    FROM [dbo].[Orders] O;
    --CÁCH 2
    SELECT O.OrderID , SUM(OD.Quantity)
    FROM [dbo].[Orders] O , [dbo].[Order Details] OD
    WHERE O.OrderID = OD.OrderID
    GROUP BY O.OrderID --830 ROWS

  • @GniagNeyun
    @GniagNeyun 2 หลายเดือนก่อน

    cach 1:
    SELECT od.OrderID, COUNT(od.ProductID) AS 'total'
    FROM [Order Details] AS od
    GROUP BY od.OrderID
    cach 2:
    SELECT o.OrderID, (SELECT COUNT(od.ProductID)
    FROM [Order Details] AS od
    WHERE o.OrderID = od.OrderID) AS 'total'
    FROM Orders AS o;

  • @minhanhhoang8634
    @minhanhhoang8634 3 หลายเดือนก่อน

    Bài tập: SELECT o.OrderID, (
    SELECT SUM(od.Quantity*od.UnitPrice-od.Discount)
    FROM [dbo].[Order Details] od
    WHERE od.OrderID=o.OrderID
    ) AS [Tong gia tri don hang]
    FROM[dbo].[Orders] o

  • @anhng8485
    @anhng8485 ปีที่แล้ว

    em xin giải bài tập:
    SELECT o.OrderID, (
    SELECT COUNT(od.Quantity)
    FROM [Order Details] od
    WHERE o.OrderID = od.OrderID
    ) AS TotalPerOrder
    FROM Orders o;

  • @thanhkhoi5714
    @thanhkhoi5714 8 หลายเดือนก่อน

    SELECT OrderID, (
    SELECT SUM(Quantity * UnitPrice )
    FROM [Order Details] od
    WHERE o.OrderID = od.OrderID
    ) AS [TotalPrice]
    FROM Orders o;

  • @giaonguyen3226
    @giaonguyen3226 ปีที่แล้ว

    Select o.[orderID], (
    Select Sum (od.[unitsPrice]*od.[Quanity])
    From [dbo].[Order Details] as 'od'
    where o.[orderID]=od.[orderID] ) as 'Total'
    From [dbo].[Orders] as 'o',

  • @MinhNguyen-g6z7z
    @MinhNguyen-g6z7z ปีที่แล้ว

    SELECT o.[OrderID],(
    SELECT COUNT(od.[ProductID])
    FROM [dbo].[Order Details] AS od
    WHERE O.OrderID=od.[OrderID]) AS [count]
    FROM[dbo].[Orders] o;

  • @anghuy3509
    @anghuy3509 8 หลายเดือนก่อน

    SELECT O.OrderID, (
    SELECT SUM(OD.Quantity)
    FROM [dbo].[Order Details] AS [OD]
    WHERE OD.OrderID = O.OrderID
    ) AS [SUM_ORDERS]
    FROM [dbo].[Orders] AS [O]

    • @TITVvn
      @TITVvn  8 หลายเดือนก่อน

      Cố lên em, chúc em học thật tốt, em có thể đặt câu hỏi kèm theo hình ảnh khi có thắc mắc ở đây nhé: facebook.com/groups/titv.vn

  • @VuHoang-mr1wc
    @VuHoang-mr1wc 3 หลายเดือนก่อน

    -- CÁCH 1
    SELECT OrderID,TotalOderId,SumProduct
    FROM
    (
    SELECT od.OrderID,COUNT(od.OrderID) AS TotalOderId,SUM(od.Quantity) AS SumProduct
    FROM dbo.[Order Details] AS od
    GROUP BY od.OrderID
    ) AS Temp
    ORDER BY OrderID ASC
    -- CÁCH 2
    SELECT od.OrderID, COUNT(od.OrderID) AS TotalOderId,SUM(od.Quantity) AS SumProduct
    FROM dbo.[Order Details] AS od
    GROUP BY od.OrderID
    ORDER BY OrderID ASC
    -- CÁCH 3
    SELECT o.OrderID, COUNT(od.OrderID) AS TotalOderId,
    (
    SELECT SUM(od.Quantity)
    FROM dbo.[Order Details] AS od
    WHERE o.OrderID = od.OrderID
    ) AS SumProduct
    FROM dbo.Orders AS o, dbo.[Order Details] AS od
    WHERE od.OrderID = o.OrderID
    GROUP BY o.OrderID
    ORDER BY o.OrderID ASC;

  • @zceaa2875
    @zceaa2875 ปีที่แล้ว

    select o.*, (
    select SUM((od.Quantity*od.UnitPrice)-od.Discount)
    from [dbo].[Order Details] as od
    where o.OrderID = od.OrderID
    ) as "Total Price"
    from [dbo].[Orders] as o

  • @HhHh-hj5lj
    @HhHh-hj5lj หลายเดือนก่อน

    SELECT [OrderID]
    (SELECT SUM([Quantity]*[UnitPrice]) )
    FROM [Orders DeTails] od
    WHERE od.[OrderID]=o.[OrderID]
    )AS 'SLDonHang'
    FROM [Orders] o

  • @hng.trung203
    @hng.trung203 9 หลายเดือนก่อน

    SELECT OrderID, (SELECT COUNT ([ProductID])
    FROM [dbo].[Order Details] OD
    WHERE OD.OrderID = O.OrderID
    ) AS [SL SAN PHAM]
    FROM [dbo].[Orders] O

  • @quyettamhoccode
    @quyettamhoccode ปีที่แล้ว

    --BAI TAP
    --MÃ ĐƠN
    --TỔNG GIÁ TRỊ CỦA ĐƠN HÀNG
    SELECT [OrderID],
    (
    SELECT SUM([UnitPrice]*[Quantity]-[Discount])
    FROM [dbo].[Order Details] od
    WHERE od.OrderID=o.[OrderID]
    )AS [TỔNG GIÁ TRỊ ĐƠN HÀNG]
    FROM [dbo].[Orders] o;

  • @huntwiller8231
    @huntwiller8231 10 หลายเดือนก่อน

    SELECT o.OrderID, (
    SELECT SUM(od.Quantity*od.UnitPrice)
    FROM [Order Details] AS od
    WHERE o.OrderID = od.OrderID
    ) AS Total
    FROM Orders AS o

  • @PHANTHANHTOAN-t2u
    @PHANTHANHTOAN-t2u ปีที่แล้ว

    SELECT o.OrderID, (
    SELECT SUM(od.Quantity*od.UnitPrice-od.Discount)
    FROM [dbo].[Order Details] od
    WHERE o.OrderID = od.OrderID
    ) AS [TotalOrders]
    FROM [dbo].[Orders] o;