私は3つのテーブルを持っている:MySQL Queryの条件の1つを強制しないでください。
すべてのテーブル から情報を取得するために私は1つのクエリを作成する必要があり**people**
ID First Last Email WageID ShiftID
1 john Smith [email protected] 2 3
2 sara doe [email protected] 1 <----- no number
**wages**
ID Wage
1 300
2 500
3 800
**shifts**
ID Shift
1 day
2 night
3 half
私が持っている:
SELECT people.ID people.First people.Last people.Email wages.Wage, shifts.Shift
FROM people, wages, shifts
WHERE people.wageID = wages.ID
AND people.shiftID = shifts.ID
問題は、「サラDOEは」シフトを持っていないためということですIDを指定しないと彼女のことは表示されません。最後に選択したクエリのように、テーブルを変更せずにすべての人を表示する作業クエリを作成する方法があると思いますか?
私はOR people.shiftID = shifts.ID
をしようとした場合、それはまだ彼女
おかげで、で JOINは、people.wageID = wages.IDANDで賃金を払っています。あなたはOUTERまたはそのHOを忘れています。そうなっていたの? – BUddhaxx
それは忘れられていない、ちょうど別のタイプのJOIN(INNER JOIN)です。そして、賃金から "AND"を取り除いてください.IDAND。 –
アウターではなく内部結合を使用する必要がある理由を説明できますか? – BUddhaxx