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

Как да използвам външно пълно присъединяване в laravel 5.0?

Не знам какво точно се опитва да постигне вашата заявка и къде се нуждаете от пълно външно присъединяване, но ще започна този отговор, като кажа, че MySQL няма вградена поддръжка за пълно външно присъединяване. Въз основа на този въпрос SO , можем да намерим алтернативен начин да напишем следната заявка:

SELECT * FROM t1
FULL OUTER JOIN t2
    ON t1.id = t2.id

Това може да бъде пренаписано като UNION на ляво и дясно съединение:

SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
UNION ALL
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id

В Laravel можем да напишем следния код за представяне на горното пълно външно присъединяване:

$second = DB::table('t2')
             ->rightJoin('t1', 't1.id', '=', 't2.id')

$first = DB::table('t1')
            ->leftJoin('t2', 't1.id', '=', 't2.id')
            ->unionAll($first)
            ->get();

Отново, не знам защо смятате, че имате нужда от две външни обединявания, но независимо от това, трябва да можете да адаптирате горния код и заявка и да го използвате за вашата ситуация.

Препратки:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Актуализирайте първичния ключ Django MySQL

  2. Премахване на MySQL 5.7 напълно

  3. Как да получите данни от mysql база данни

  4. Как мога да завърша асинхронно повикване, за да се държи синхронно?

  5. Виртуалният хост на WAMP не работи