我有两个表,并希望在创建日期的同一页面中显示来自两个表中的行。从两个表中获取数据并区分它们
这里我的查询:
SELECT R.*, R.id as id_return
FROM return R
UNION
ALL
SELECT A.*, A.id as id_buy
FROM buy A
WHERE
R.id_buyer = '$user' AND R.id_buyer = A.id_buyer AND (R.stats='1' OR R.stats='3') OR A.stats='4'
ORDER
BY R.date, A.date DESC LIMIT $from , 20
与此查询我收到此错误信息:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in ...
在这里我是怎么想的,我可以在结果之间的区别:(知道如果结果是从表RETURN
或来自表BUY
)
if(isset($hist_rows["id_return"])) {
// show RETURN rows
} else {
// show BUY rows
}
请问这个查询有什么问题,以及区分表的方法是否正确?
编辑
这里我表样本:
CREATE TABLE IF NOT EXISTS `return` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_buyer` INT(12) NOT NULL,
`id_seller` INT(12) NOT NULL,
`message` TEXT NOT NULL,
`stats` INT(1) NOT NULL,
`date` varchar(30) NOT NULL,
`update` varchar(30)
PRIMARY KEY (`id`)
)
CREATE TABLE IF NOT EXISTS `buy` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_buyer` INT(12) NOT NULL,
`product` INT(12) NOT NULL,
`title` VARCHAR(250) NOT NULL,
`stats` INT(1) NOT NULL,
`date` varchar(30) NOT NULL
PRIMARY KEY (`id`)
)
发表你的表返回和购买架构 – scaisEdge
我不认为'union all'对你的问题有意义。您应该编辑您的问题并提供样本数据和期望的结果。 –
因为'union all'需要相同的结构,在我的情况下是这样使用它是错误的...我正在寻找一种方法来显示在创建日期排序的同一页中的两个表的结果。 –