我需要从sub中选择id,其中mainid = $ cccc为iiid,之后选择cat = iiid的广告
并按ID desc limit 10
从广告订单中选择订单$cccc=intval($_GET['cat']);
$DB = new DB;
$seleddcddddtMainwork ="select id from sub where mainid='$cccc' as iiid from ads where cat='$idididid' order by id desc limit 10 ";
我尝试了许多代码,但它不能与我合作。
我试过了:
select sub.mainid='$cccc' as idididid from ads where cat='$idididid' order by id desc limit 10
但是我需要从sub获取id,其中mainid = cccc和ahter从cat = id
的广告中选择CREATE TABLE IF NOT EXISTS `ads` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`userid` int(255) NOT NULL,
`title` varchar(255) NOT NULL,
`photo` varchar(255) NOT NULL,
`message` varchar(255) NOT NULL,
`price` int(255) NOT NULL,
`contery` varchar(255) NOT NULL,
`mobile` varchar(255) NOT NULL,
`showmobile` int(255) NOT NULL,
`showj` int(255) NOT NULL DEFAULT '0',
`youtuube` varchar(255) NOT NULL,
`cat` int(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `photo` (`photo`),
KEY `title` (`title`),
KEY `message` (`message`),
KEY `price` (`price`),
KEY `contery` (`contery`),
KEY `mobile` (`mobile`),
KEY `showmobile` (`showmobile`),
KEY `show` (`showj`),
KEY `youtuube` (`youtuube`),
KEY `userid` (`userid`),
KEY `cat` (`cat`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
CREATE TABLE IF NOT EXISTS `sub` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`mainid` int(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `name` (`name`),
KEY `mainid` (`mainid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=126 ;
我的最后一次尝试是:
select id from sub.mainid='$cccc' as idididid from ads where cat='idididid' order by id desc limit 10
也不起作用。
我只需要一个值$cccc=intval($_GET['cat']);
,我需要从sub中选择id,其中mainid = $ cccc为iit,并从cat = iit中选择广告
另一件事
SELECT sub.id, sub.mainid
FROM sub
WHERE sub.mainid = '2'
和
此sub.id结果来自广告,其中cat = sub.id
答案 0 :(得分:0)
为什么不加入?如果你想从表#2中的表#1中选择id,那么你应该通过id值加入这两个表:
$cccc=intval($_GET['cat']);
$DB = new DB;
$seleddcddddtMainwork ="select S.id from sub S JOIN ads A ON S.mainid=A.id AND C.cat='$idididid' AND S.mainid='$cccc' order by S.id desc limit 10";
确保选择所需的所有列。在上面的查询中,只选择了子表中的列id:
从....
中选择 S.id从sub中选择列id,name和mainid,从广告中选择字段消息和价格:
$cccc=intval($_GET['cat']);
$DB = new DB;
$seleddcddddtMainwork ="select S.id, S.name, S.mainid, A.message, A.price from sub S JOIN ads A ON S.id=A.mainidAND C.cat='$idididid' AND S.mainid='$cccc' order by S.id desc limit 10";
编辑:
我将'S.id = A.id'上的JOIN更改为'S.id = A.mainid'我相信那些是您想要加入的ID。
回应你的评论:
我只有一个值$ cccc = intval($ _ GET ['cat']);我需要选择 来自sub的id,其中mainid = $ cccc为iit,并从广告中选择 猫= IIT
您可以执行以下操作:
$cccc=intval($_GET['cat']);
$DB = new DB;
$seleddcddddtMainwork ="select S.id, S.name, S.mainid as iit, A.message, A.price from sub S JOIN ads A ON S.mainid=A.cat AND S.mainid='$cccc' order by A.id desc limit 10";