Mysql 内连接或其他等价解
我有很好的sql查询,但我还需要从表广告中选择atribute。我尝试了内部连接,但没有成功。所以这个查询是可以的,但我需要从表advert中选择一个atributeMysql 内连接或其他等价解,mysql,sql,join,Mysql,Sql,Join,我有很好的sql查询,但我还需要从表广告中选择atribute。我尝试了内部连接,但没有成功。所以这个查询是可以的,但我需要从表advert中选择一个atribute SELECT D.* FROM details WHERE (D.name LIKE ?) AND (D.id_advert IN( SELECT A.id FROM advert A WHERE A.status=1 and duration >= CURDATE() ORDER BY
SELECT D.* FROM details
WHERE (D.name LIKE ?) AND (D.id_advert IN(
SELECT A.id
FROM advert A
WHERE A.status=1 and duration >= CURDATE()
ORDER BY duration DESC ))
您可以在适当的内部联接中更改in子查询,并且使用表a中的列非常简单
SELECT D.* , A.*
FROM details
INNER JOIN advert A ON D.id_advert = A.id
AND A.status=1
AND duration >= CURDATE()
WHERE D.name LIKE ?
这里?是搜索键。此查询工作正常。从详细信息D中选择D.*D.name喜欢在哪里?和D.id_advert INSELECT A.id FROM advert A其中A.status=1和duration>=CURDATE ORDER BY duration DESC抱歉,我忘了在子查询中添加D到有关该订单的任何需要的详细信息中?该查询不能确定,因为您使用的是从未定义过的表别名D。另外,您所说的D.name LIKE是什么意思?从详细信息中选择*D内部连接广告A在D.id\U广告=A.id内部连接位置P在A.id\U位置=P.id D.name喜欢的位置?和D.id_广告插入从广告A中选择A.id,其中A.status=1,duration>=CURDATE ORDER BY duration DESC这里是解决方案?是搜索键。这个查询非常有效。
SELECT *
FROM details D
INNER JOIN advert A ON D.id_advert = A.id
INNER JOIN place P ON A.id_place = P.id
WHERE (D.NAME LIKE ?)
AND ( D.id_advert IN (
SELECT A.id
FROM advert A
WHERE A.STATUS = 1 AND duration >= CURDATE()
ORDER BY duration DESC
)
)