0
所以我有两个分开的表。在第一个表格中,有一堆广告组拥有一个ID。在第二张表格中有一列广告,其中有一列包含每个广告的广告组ID。 ad_group_id仅仅是广告组表格中广告组的ID。因此,我试图选择ad_group_id为103,104,105,107,117117和120的所有广告。从另一个表中选择值
所以我尝试了以下查询。
SELECT * FROM ads WHERE ad_group_id LIKE '%103%' OR ad_group_id LIKE '%104%'
OR ad_group_id LIKE '%105%' OR ad_group_id LIKE '%107%' OR ad_group_id LIKE '%117%' OR ad_group_id LIKE '%118%' OR ad_group_id LIKE '%120%';
那么以前的查询工作呢?是
我的查询是否有效?没有!
我想知道如何以更高效的方式运行以前的MySQL查询。
编辑:
AD GROUP - table 1
id name
100 Tony
100 David
103 James
104 Ann
105 Jon
150 Sara
AD - table 2
keyword ad_group_id
that 103
one 100
is 105
special 104
no 100
please 103
所以我应该结束了:
that 103
is 105
special 104
please 103
希望是有道理的。
编辑2:
下面的代码给出了相同的结果,是短,但我无法想象这样做时,有更多的价值,我需要选择。
SELECT * FROM ads WHERE ad_group_id IN (103,104,105,107,117,118,120);
你的问题并不完全清楚。您能否在这些表格中添加一些数据示例以及您要查找的结果? – Oded
为什么“LIKE”?为什么不''=? –
我是SQL新手,出于某种原因,我总是使用LIKE,除非我有我需要的特定值。 – ATMathew