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

SQL - dopasuj rekordy z jednej tabeli do drugiej na podstawie kilku kolumn

Słaby projekt DB, ale zakładając, że musisz z tym żyć:

SELECT h.name
    FROM tblhobby h
        INNER JOIN tblavailable_hobby ah1
            ON h.hobby1 = ah1.available_hobby
        INNER JOIN tblavailable_hobby ah2
            ON h.hobby2 = ah2.available_hobby
        INNER JOIN tblavailable_hobby ah3
            ON h.hobby3 = ah3.available_hobby

EDYTUJ :Odpowiadając na zwrot zaproponowany w komentarzach poniżej.

SELECT h.name
    FROM tblhobby h
        LEFT JOIN tblavailable_hobby ah1
            ON h.hobby1 = ah1.available_hobby
        LEFT JOIN tblavailable_hobby ah2
            ON h.hobby2 = ah2.available_hobby
        LEFT JOIN tblavailable_hobby ah3
            ON h.hobby3 = ah3.available_hobby
    WHERE (h.hobby1 IS NULL OR ah1.available_hobby IS NOT NULL)
        AND (h.hobby2 IS NULL OR ah2.available_hobby IS NOT NULL)
        AND (h.hobby3 IS NULL OR ah3.available_hobby IS NOT NULL)


  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 zaplanować procedurę składowaną mysql w systemie Windows?

  2. Zaktualizuj kolumnę za pomocą podzapytania select do tej samej tabeli

  3. zapytanie usuwające wszystkie znaki po ostatnim przecinku w łańcuchu

  4. MySQL - Licznik w grupie

  5. Zmienianie kolumny tabeli Mysql, aby uwzględniała wielkość liter