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

Примери за заявки във връзка много към много

Първото нещо, което бих направил, е да препоръчам използването на ORM като Linq-To-Sql или NHibernate което ще ви даде обектни представяния на вашия модел на данни, което прави много по-лесно обработването на сложни неща като много към много CRUD операции.

Ако ORM не е част от вашия набор от инструменти, ето как ще изглежда това в SOL.

Users       UserAddresses     Addresses
=======     =============     =========
Id          Id                Id
FirstName   UserId            City
LastName    AddressId         State
                              Zip

Нашите таблици са свързани по следния начин:

   Users.Id -> UserAddresses.UserId
   Addresses.Id -> UserAddresses.AddressId
  • Всички записи в Users въз основа на Addresses.Id
SELECT        Users.*
FROM            Addresses INNER JOIN
                         UserAddresses ON Addresses.Id = UserAddresses.AddressId INNER JOIN
                         Users ON UserAddresses.UserId = Users.Id
WHERE        (Addresses.Id = @AddressId)
  • Всички записи в Адреси въз основа на Users.Id
SELECT        Addresses.*
FROM            Addresses INNER JOIN
                         UserAddresses ON Addresses.Id = UserAddresses.AddressId INNER JOIN
                         Users ON UserAddresses.UserId = Users.Id
WHERE        (Users.Id = @UserId)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да разделя низ в sql сървър 2008 с помощта на съхранена процедура и да вмъкна данните в таблицата

  2. Експортирайте Excel в SQL с помощта на VBA

  3. Кой е най-добрият начин за пагиниране на резултатите в SQL Server

  4. SQL Server, използвайки таблица като опашка

  5. Нуждаете се от колона за дата и час в SQL Server, която автоматично се актуализира, когато записът бъде променен