sql >> Databáze >  >> RDS >> Mysql

mysql levé vnější spojení

Filtrujete tc_date_transaction, který filtruje všechny hodnoty null v tomto poli, dokonce i ty generované vnějším spojením, a proto maří svůj účel. Přesuňte filtr "tc_date_transaction ="17/06/2010"" do klauzule spojení a bude to fungovat.

SELECT * 
  FROM employee LEFT OUTER JOIN timecard 
       ON employee.employee_id = timecard.employee_id and tc_date_transaction = "17/06/2010";

nebo napište

SELECT * 
  FROM employee LEFT OUTER JOIN timecard 
       ON employee.employee_id = timecard.employee_id 
  where (tc_date_transaction = "17/06/2010" or tc_date_transaction is null);



  1. Hash schéma databáze MySQL

  2. Jaký je nejúčinnější způsob, jak zkontrolovat, zda záznam v Oracle existuje?

  3. Kombinace příkazů INSERT v CTE modifikující data s výrazem CASE

  4. Jak získat jeden sloupec výsledků mysql_query do pole?