従業員のチェックインした場所で個人の在庫場所とリンクしている在庫リストを見ることができるので、チェックインされた各従業員はどのアイテムが異なる在庫であるかを見ることができます場所。しかし、私はメインの株式(社員に添付されていない1
のIDは、)常に示したことにしたいが、where
ステートメントのいずれかが明らかに正しくないので、私は、クエリの権利を取得することはできません。複数の条件に基づくSQLクエリ
`stock_locations`.`location_id` = 1 AND
`workschedule`.`checkedIn` = 1 AND
Rememeber、主な在庫は従業員にリンクされていないので、workschedule
テーブルには表示されません。私は最初の声明を削除した場合、チェックインした従業員のすべての場所が明確に表示されますが、それは私に主要な在庫を与えません。私が2番目のステートメントを削除すると、それは私にメインの株式のみを表示します。
SQL内でこの問題を解決するにはどうすればよいですか?これは完全な文章です:
SELECT
`item_quantities`.`item_id`,
`stock_locations`.`location_name`,
`item_quantities`.`quantity`,
`people`.`first_name`
FROM
`item_quantities`
JOIN `stock_locations` ON `item_quantities`.`location_id` = `stock_locations`.`location_id`
JOIN `items` ON `item_quantities`.`item_id` = `items`.`item_id`
LEFT JOIN `workschedule` ON `workschedule`.`linked_storage` = `stock_locations`.`location_id`
LEFT JOIN `people` ON `workschedule`.`employee_id` = `people`.`person_id`
WHERE
`stock_locations`.`location_id` = 1 AND
`workschedule`.`checkedIn` = 0 AND
`items`.`unit_price` != 0 AND
`items`.`deleted` = 0 AND
`stock_locations`.`deleted` = 0 NULL
ありがとうございます!