SELECT `id` , `time` , `title`
FROM `think_infor`
WHERE `type` LIKE '$k-%'
UNION ALL
SELECT `id` , `time` , `title`
FROM `think_infor2`
WHERE `type` LIKE '$k-%'
ORDER BY `time` DESC
LIMIT 0,6
用这个语句可以查询到表1和表2的最新6条信息。但是怎么判断记录是哪个表返回的?
或者有什么其他的方法可以实现,不想多次查询
FROM think_infor AS A, think_infor2 AS B
WHERE A.type LIKE '$k-%' AND B.type=A.type
ORDER BY A.time DESC LIMIT 0,6
FROM `think_infor`
WHERE `type` LIKE '$k-%'
UNION ALL
SELECT `id` , `time` , `title` , 2 as cpfrom
FROM `think_infor2`
WHERE `type` LIKE '$k-%'
ORDER BY `time` DESC
LIMIT 0,6
不就没重复了吗
有A表,B表,结构相同,数据不同,我想同时模糊查询一个字段`type`,选取两表中符合条件的前6条记录(根据`time`排序)
FROM `think_infor`
WHERE `type` LIKE '$k-%'
UNION
SELECT `id` , `time` , `title`, 'think_infor2'
FROM `think_infor2`
WHERE `type` LIKE '$k-%'
ORDER BY `time` DESC
LIMIT 0,6
加了个输出字段 tbl_name 用以区分数据来源
union all 改成 union 用于避免出现重复记录。不多加了来源就重复的也不重复了
SELECT 不存在的字段这也可以
肯定可以了,不就是给个名字么接下来就不说了