繁体   English   中英

MySQL-从两个表中选择查询

[英]Mysql- Select Query from two table

我有两个表item_info和item_log表如下:

Item_info

Item_log

现在我需要按“ like” item_name搜索,结果将显示任何item_id的最后一行,例如:

结果

你可以尝试这样的事情:

SELECT table1 。*,MAX(table1.id)AS last_id,

table2 table2.id

从(表table1

table2联接到table1 table2.id = table2 table2.id

在哪里item_name喜欢'%nameOfItem%'

GROUP BY表table1 table2.id

ORDER BY table1 id描述

我的功能有点类似,我必须为每个线程检索最近的消息。 因此,我必须加入表并将其按消息ID分组,并按消息发送的降序排列。

基本上,逻辑是相同的。 让我知道是否无效

问题解决了

SELECT item_log.*,item_info.name
FROM (item_log)
JOIN item_infos ON item_log.item_id = item_infos.item_id
WHERE id IN (SELECT MAX( item_log.id )
FROM (item_log)
JOIN item_infos ON item_log.item_id = item_infos.item_id
WHERE item_name LIKE '%G%'
GROUP BY item_log.item_id
ORDER BY item_log.id desc)
AND item_name LIKE '%G%'
GROUP BY item_log.item_id
ORDER BY item_log.id desc
SELECT 
  * 
FROM
  (SELECT 
    item_info.`item_name`,
    item_log.`item_id`,
    item_log.`id`,
    item_log.`item_barcode`,
    item_log.`buy_price` 
  FROM
    item_log,
    item_info 
  WHERE item_info.`item_id` = item_log.`item_id` 
  ORDER BY id DESC) AS i 
GROUP BY item_id ;




I think this is what you are expecting right ?

这可能对您有用:

SELECT l.id,i.item_id,l.item_barcode,i.item_name,l.buy_price 
FROM item_info i 
LEFT JOIN item_log l  ON i.item_id=l.item_id 
WHERE  i.item_name LIKE '%G%'  
ORDER BY l.id desc  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM