Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak odwoływać się do tabeli nadrzędnej w sprzężeniu wielu tabel?

Wyniki, które otrzymasz, są oczekiwane. Powinieneś mieć inny identyfikator dla C++, a to doprowadziłoby do pożądanych rezultatów.

Musisz dodać i ID kolumnę w B tabela, której użyjesz w C tabeli (jako klucz obcy), aby można było filtrować wyniki.

Naprawienie tego problemu z projektem bazy danych pomoże Ci rozwiązać ten problem, ponieważ Twój obecny projekt jest wadliwy.

Wynikowe zapytanie powinno wyglądać tak:

SELECT *
FROM A
   LEFT OUTER JOIN B ON A.id = B.pid
   LEFT OUTER JOIN C ON A.id = B.pid AND C.newForeignKeyId=B.newId;

Polecam również użycie IDENTITY Kolumny id, które zwiększają się automatycznie, aby nie napotkać problemów z integralnością.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę zaimportować bazę danych z MySQL z terminala?

  2. MySQL — BŁĄD 1045 — Odmowa dostępu

  3. Procedura składowana MySQL a funkcja, której powinienem użyć, kiedy?

  4. ASP.NET MVC 4, wiele modeli w jednym widoku?

  5. Błąd w zmiennej DECLARE w procedurze MySql