我有下面的查詢和它的作品完美,沒有任何問題MySQL的左加入或子查詢獲取值,如果該值存在
SELECT description category,
details,
created_by,
CONCAT(name,' ',surname) name,
FROM_UNIXTIME(createdon) created_date,
FROM_UNIXTIME(updatedon) updated_date,
comments_count,
entry_id,
code car_code
FROM my_area_details,my_user,my_master_area_categories
WHERE type=4
AND code IN (SELECT car_code
FROM my_cars
WHERE car_company='GM'
AND car_model='Chevy')
AND my_area_details.created_by=my_user.user_id
AND my_area_details.category=my_master_area_categories.type_id
ORDER BY category
在上面的查詢下面的子查詢只返回一個值或沒有
SELECT car_code
FROM my_cars
WHERE car_company='GM'
AND car_model='Chevy'
在第一個查詢,如果我的其他表沒有任何匹配的記錄我得到零記錄。
我的要求是,如果子查詢有值和主查詢沒有返回任何記錄(由於其他表中找不到記錄),我應該至少從my_cars獲得car_code的值(其他值可以是NULL )。
爲此,我嘗試添加子查詢作爲別名表,並確實將其與別名表加在一起, 但是由於我還有其他條件,我仍然沒有獲得汽車代碼。還嘗試加入其他三個表中,並且結果用my_car表進行左連接。但這一個需要時間,因爲我沒有檢查一級查詢中的車輛代碼
任何方式來加入並從my_cars表中獲取car_code,即使我的其他表沒有任何匹配的東西......?
感謝您的解決方案和建議。只是修改了查詢以刪除您提供的評論。這是一個很好的解決方案。再次感謝 – Bujji