这是我的数据库结构(基本关系):
我正在尝试制定一个单行查询,该查询将填充 clients_ID、Job_id、tech_id 和 Part_id 并返回所有存在的工作订单。不多不少。
到目前为止,我一直在努力生成这个查询:
SELECT cli.client_name, tech.tech_name, job.Job_Name, w.wo_id, w.time_started, w.part_id, w.job_id, w.tech_id, w.clients_id, part.Part_name
FROM work_orders as w, technicians as tech, clients as cli, job_types as job, parts_list as part
LEFT JOIN technicians as techy ON tech_id = techy.tech_name
LEFT JOIN parts_list party ON part.part_id = party.Part_Name
LEFT JOIN job_types joby ON job_id = joby.Job_Name
LEFT JOIN clients cliy ON clients_id = cliy.client_name
显然,一旦所有连接发生,它甚至不会根据它们的引用填充正确的外键值。
[有些值是实际的外键ID,甚至不是对应的值。]
根据我拥有的表的最大行(以上之一),它只会持续大约 20-30 次。
我只创建了两个工作订单,所以理想情况下它应该只返回两个记录、列和具有正确信息的字段。我可能做错了什么?使用 MySQL 的时间不长,但我正在尽可能多地学习。