Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 内连接或其他等价解_Mysql_Sql_Join - Fatal编程技术网

Mysql 内连接或其他等价解

Mysql 内连接或其他等价解,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

我有很好的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 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
            )
        )