我很难理解我想要达到的目标:S - 抱歉我的英语
我有一个带有位置历史记录ID的产品表 我有一个包含位置ID和最后转移日期的历史记录表 我有一个位置名称
的位置表表格:
**site_product**
product_id
product_name
**site_trans**
trans_id
trans_product - link the product
trans_inventory - for the location
trans_date2 - date when it was assigned
**site_location**
location_id
location_name
我使用PHP构建一个表来收集它正在工作的所有信息,并且我将所有列排序到该位置的一部分。
这是我的工作版BUT没有位置名称......(如果有帮助的话)
SELECT * FROM site_trans WHERE trans_product = product_id(例如659)ORDER BY trans_date2 DESC限制1
它提供了位置ID号,但我想更进一步,获取位置名称见上文。如果有一个它什么都不做,所以离开。
问题:
如何将位置链接到此以使其工作?请。
有人可以点亮我如何做的选择吗?
(我在很多方面都是初学者,所以即使是开始讲课也会受到赞赏)
UPDATE1: LIMIT 1是为最后一个位置设计的
答案 0 :(得分:0)
兄弟,当你输入“LIMIT 1”时,你说你只需要1条记录,所以sgbd只会检索1行。
您还应该查看所有类型的联接:http://www.devmedia.com.br/inner-cross-left-rigth-e-full-joins/21016
使用左连接可能会丢失一些数据。
答案 1 :(得分:0)
SELECT s.*, sl.location_name
FROM site_trans AS s
LEFT JOIN site_location AS sl ON sl.location_id = s.location_id
WHERE s.trans_product=646
ORDER BY s.trans_date2 DESC
Limit 1
我有一些帮助,这是解决方案。谢谢大家。惊人的团队