[英]Selecting multiple rows in same table in the same JOIN
In the picture is my table situation right now: 图中是我现在的餐桌情况:
The central table in this case right now is
tblJob
, here is everything defined what I need (not all in the picture). 在这种情况下,当前的中心表是
tblJob
,这里定义了我需要的所有内容(并非图中所有内容)。
The address table needs to return 2 values (1 of the company and 1 of the job itself). 地址表需要返回2个值(公司1个和作业本身1个)。 The only thing I need to do right now is to add the company address (the job address is already in my query) My query already looks like this:
我现在唯一需要做的就是添加公司地址(工作地址已经在我的查询中)我的查询已经像这样:
SELECT
tblJob.jobID,
tblJob.amount AS jobAmount,
tblJob.extraInfo AS jobExtraInfo,
tblJob.views AS jobViews,
tblJob.description AS jobDescription,
tblJob.dateCreated AS jobDateCreated,
tblJobFunction.jobFunctionID,
tblJobFunction.jobFunction,
tblAddress.zipcode AS jobAddress,
tblAddress.city AS jobCity,
tblAddress.street AS jobStreet,
tblAddress.number AS jobNumber,
tblAddress.bus AS jobBus,
tblCountry.countryID AS jobCountryID,
tblCountry.country AS jobCountry,
tblCountry.areaCode AS jobAreaCode,
tblCompany.companyID,
tblCompany.name,
tblCompany.email,
tblCompany.GSM,
tblCompany.phoneNumber,
tblCompany.photoURL AS companyPhotoURL,
tblCompany.VATNumber,
tblCompany.websiteURL,
tblEvent.eventID,
tblEvent.event,
tblEvent.description AS eventDescription,
tblEvent.startDate AS eventStartDate,
tblEvent.endDate AS eventEndDate,
tblEvent.facebookURL,
tblEvent.photoURL AS eventPhotoURL,
tblEvent.views AS eventViews,
tblEvent.dateCreated AS eventDateCreated
FROM tblJob
JOIN tblAddress ON tblAddress.addressID = tblJob.addressID
JOIN tblCountry ON tblAddress.countryID = tblCountry.countryID
JOIN tblJobFunction ON tblJob.jobFunctionID =
tblJobFunction.jobFunctionID
JOIN tblCompany ON tblJob.companyID = tblCompany.companyID
LEFT JOIN tblEvent ON tblJob.eventID = tblEvent.eventID
Now the question is: how can I add the address from the company in the same query? 现在的问题是:如何在同一查询中添加公司的地址?
Use the address table as many times as you need it, but each time you must give it a new alias: 根据需要多次使用地址表,但是每次必须给它一个新的别名:
FROM tblJob
JOIN tblAddress ON tblAddress.addressID = tblJob.addressID
JOIN tblCountry ON tblAddress.countryID = tblCountry.countryID
JOIN tblJobFunction ON tblJob.jobFunctionID = tblJobFunction.jobFunctionID
JOIN tblCompany ON tblJob.companyID = tblCompany.companyID
JOIN tblAddress a2 ON a2.addressID = tblCompany.addressID
LEFT JOIN tblEvent ON tblJob.eventID = tblEvent.eventID
perhaps more like this: 也许更像这样:
SELECTJobAddress.street,
CompanyAddress.street FROM tblJob JOIN tblAddress
JobAddress ON
JobAddress.addressID = tblJob.addressID JOIN tblCompany ON tblJob.companyID = tblCompany.companyID JOIN tblAddress
CompanyAddress ON
CompanyAddress.addressID = tblCompany.addressID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.