Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL SELECT множество условия връзка много към много

SELECT p2p.PageID
FROM
    PageToProduct as p2p
    inner join Product as pr
        on p2p.Product = pr.Product
    inner join PageToProductToRate as p2p2r
        on p2p2r.PageToProductID = p2p.PageToProductID
    inner join ProductRates as r
        on r.ProductRatesID = p2p2r.ProductRatesID 
WHERE
          (pr.Product = 'ALMOND' AND r.CommissionType = 'PREMIUM' AND r.Rate = 0.25) 
      OR  (pr.Product = 'WALNUT' AND r.CommissionType = 'SERVICE FEE' AND r.Rate = 1.25)
      OR  (pr.Product = 'HAZELNUT' AND r.CommissionType = 'EXCESS' AND r.Rate = 1.68)
GROUP BY p2p.PageID
HAVING COUNT(*) = 3; /* requires all three are present, as long as no rows are duplicate */


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DATEFROMPARTS() Примери в SQL Server (T-SQL)

  2. Помощ за отстраняване на неизправности SqlException:Времето за изчакване е изтекло при свързване, в ситуация на незареждане

  3. Получаване на всички деца на родител с помощта на MSSQL заявка

  4. Отложената подготовка не може да бъде завършена грешка при използване на локална база данни като свързан сървър

  5. SQL Server Insert, ако не съществува