php mysql如果'x'表中的值不在'y'表中,则将数据打印在'x'表中?
Mysql查询:
SELECT * FROM andesite_advertisement INNER JOIN andesite_adsrice ON (andesite_adsrice.adsrice_adsase = andesite_advertisement.advertisement_base)
答案 0 :(得分:0)
SELECT IF(table1.age > 18, table1.user, table2.user)
FROM ...
它的工作原理如下(来自文档):
如果第一个参数为TRUE,则
IF()
返回第二个参数。否则,它将返回第三个参数。mysql> SELECT IF(1>2,2,3); -> 3 mysql> SELECT IF(1<2,'yes','no'); -> 'yes' mysql> SELECT IF(STRCMP('test','test1'),'no','yes'); -> 'no'
进一步编辑(关于您更新的问题)。我相信您正在寻找的是LEFT JOIN
。如果备用表中不存在数据,您仍将在数据库中返回一行(但是关联表中的任何列都将返回null)。然后,您可以使用PHP以编程方式获取数据,或使用类似IF(andesite_adsrice.adsrice_adsase IS NULL, andesite_advertisement.column1, andesite_adsrice.column1)
的数据。