所以......我是sql的新手,喜欢我学到的东西,但这里有一个我很难过的问题。
我创建了一个网站表单。这是一张时间卡型表格。用户登录并单击下拉菜单(从DB中选择)称为jobsite
,然后向下滚动并单击Jobsite#2。 (两个字段都从同一个表中选择..)当他们提交时,它提交到数据库就好了。将这两个字段显示为他们选择的ID号。不是名称..
SELECT jobsite.Jobsite as 'Customer',
FROM timeCard
LEFT JOIN jobsite ON timeCard.jobsite = jobsite.id
该查询效果很好。提取timeCard.jobsite
信息。如果我将其更改为
LEFT JOIN jobsite ON timeCard.jobsite2 = jobsite.id
从Jobsite2中提取所有输入的数据也很有效...什么查询可以让他们在同一个查询中显示为“Customer 1和Customer2”?我的问题有意义吗?我试图让它导出到Excel,以便它基本上显示在一行上的所有信息。员工1,在工地1和工地4工作(但显示:员工(我)在(这个地方)和(那个地方)工作
两个工作场所来自数据库中的同一个表
感谢你们/ gals给予的任何帮助
答案 0 :(得分:4)
您需要两次加入jobsite
表,因为一条timecard
记录与两个不同的jobsite
记录相关联(假设您的架构和DBMS有些相关内容)。 ..):
SELECT t.EmployeeName, j1.jobsite AS 'Customer 1', j2.jobsite AS 'Customer 2'
FROM timecard t
LEFT JOIN jobsite j1 ON t.jobsite = j1.id
LEFT JOIN jobsite j2 ON t.jobsite2 = j2.id
答案 1 :(得分:1)
SELECT js1.jobsite AS customer1, js2.jobsite AS customer2
FROM timecard tc
LEFT JOIN
jobsite js1
ON js1.id = tc.jobsite
LEFT JOIN
jobsite js2
ON js2.id = tc.jobsite2
答案 2 :(得分:0)