Проблема с запросом MS Access - PullRequest
1 голос
/ 24 апреля 2011
SELECT 
     tbl_vehicle_models.model_name AS Vehicle_Model,
     tbl_vehicle_models.manufacturer AS Manufacturer,
     tbl_jobs.vehicle_registration_number AS Registration_Number,
     tbl_customers.first_name + " " + tbl_customers.last_name AS Customer_Name,
     tbl_customers.address AS Address,
     tbl_customers.contact_no AS Contact_Number,
     tbl_jobs.cost_charged AS Cost,
     tbl_jobs.was_accident AS Was_Accident,
     tbl_jobs.was_towed AS Was_Towed,
     tbl_jobs.job_call_time AS Call_Time,
     tbl_jobs.job_arrival_time AS Arrival_Time,
     tbl_jobs.job_leaving_scene_time AS Leaving_Time,
     tbl_places.place_name AS Place
FROM 
    tbl_jobs
    INNER JOIN  tbl_vehicle_models
       ON  ( tbl_vehicle_models.ID = tbl_jobs.vehicle_model ) 
    INNER JOIN tbl_customers
       ON ( tbl_customers.ID =  tbl_jobs.customer_id )
    INNER JOIN tbl_places
       ON ( tbl_places.ID = tbl_jobs.job_place ) 

Что не так с этим запросом?Я получаю сообщение об ошибке: отсутствует оператор в выражении запроса '(v.ID = j.vehicle_model) INNER JOIN*

Редактировать: Это решило мою проблему:

SELECT tbl_vehicle_models.model_name, tbl_vehicle_models.manufacturer, tbl_jobs.vehicle_registration_number, tbl_customers.first_name & " " & tbl_customers.last_name AS Expr1, tbl_customers.address, tbl_customers.contact_no, tbl_jobs.cost_charged, tbl_jobs.was_accident, tbl_jobs.was_towed, tbl_jobs.job_call_time, tbl_jobs.job_arrival_time, tbl_jobs.job_leaving_scene_time, tbl_places.place_name
FROM ((tbl_jobs INNER JOIN tbl_vehicle_models ON tbl_jobs.vehicle_model = tbl_vehicle_models.ID) INNER JOIN tbl_customers ON tbl_jobs.customer_id = tbl_customers.ID) INNER JOIN tbl_places ON tbl_jobs.job_place = tbl_places.ID;

Ответы [ 2 ]

0 голосов
/ 26 апреля 2011

Это решило мою проблему:

 SELECT tbl_vehicle_models.model_name, tbl_vehicle_models.manufacturer,
    tbl_jobs.vehicle_registration_number, tbl_customers.first_name & " " &
    tbl_customers.last_name AS Expr1, tbl_customers.address, tbl_customers.contact_no, 
    tbl_jobs.cost_charged, tbl_jobs.was_accident, tbl_jobs.was_towed, tbl_jobs.job_call_time,
    tbl_jobs.job_arrival_time, tbl_jobs.job_leaving_scene_time, tbl_places.place_name

    FROM ((tbl_jobs 
     INNER JOIN tbl_vehicle_models ON tbl_jobs.vehicle_model = tbl_vehicle_models.ID)
     INNER JOIN tbl_customers ON tbl_jobs.customer_id = tbl_customers.ID) 
     INNER JOIN tbl_places ON tbl_jobs.job_place = tbl_places.ID;
0 голосов
/ 24 апреля 2011

Вы уверены, что v.ID и j.vehicle_model имеют одинаковый тип данных?

Похоже, v.ID является целым числом и j.vehicle_model строкой

Я думаю, что эта проблемапроисходит, когда вы пытаетесь использовать операторы с несовместимыми типами данных операндов.

РЕДАКТИРОВАТЬ: Затем попробуйте изменить

c.first_name + " " + c.last_name

на

c.first_name & " " & c.last_name

Я думаю, что это проблема с этим объединением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...