Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Perbarui Kueri dengan Subkueri Berkorelasi

Meskipun saya pikir JOIN kriteria sangat tidak mungkin, sepertinya Anda mencoba melakukan ini?

EDIT:Saya telah memodifikasi JOIN kriteria tetapi inilah yang Anda cari.Grouping By kolom yang OR 'd aneh.

;WITH MinOrderDates AS
(
    SELECT   CustID 
            ,OrderDate  = MIN(OrderDate)
    FROM Orders
    GROUP BY CustID
)

UPDATE C
SET FirstOrderDate = MIN(O.OrderDate)
FROM Customers      C
JOIN MinOrderDates  O   ON C.Id = O.CustID

Seperti inilah tampilan kueri Anda dengan OR s

;WITH MinOrderDates AS
(
    SELECT   ShipperId
            ,PickupId
            ,ConsigneeId
            ,DeliveryId
            .BillingId
            ,OrderDate  = MIN(OrderDate)
    FROM Orders
    GROUP BY ShipperId
            ,PickupId
            ,ConsigneeId
            ,DeliveryId
            .BillingId
)

UPDATE C
SET FirstOrderDate = MIN(O.OrderDate)
FROM Customers      C
JOIN MinOrderDates  O   ON o.ShipperId     = C.Id or
                           o.PickupId      = C.Id or
                           o.ConsigneeId   = C.Id or
                           o.DeliveryId    = C.Id or
                           o.BillingId     = C.Id 

EDIT:Meskipun saya kesulitan menemukan kesalahan dengan sintaks yang Anda posting.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menggunakan TimeZoneInfo dalam perakitan SQLCLR di SQL Server 2012

  2. Kesalahan SQL Server:Data string atau biner akan terpotong

  3. Menyimpan gambar di SQL Server?

  4. Bagaimana cara mengubah baris menjadi kolom di SQL Server?

  5. Memasukkan data SQL Server ke Salesforce.com