如何在mysql中通过一个查询从两个不同的表中选择两条记录?
对于我正在使用的搜索查询
$search = $_GET['gd']
$arama_sonuc = mysql_query("select * from mp3 where baslik like '%$search%'");
Run Code Online (Sandbox Code Playgroud)
好吧,没关系。它显示了 mp3 表的结果。但使用相同的查询,我也需要在 HABERLER 表上搜索某些内容..我该怎么办?
我正在使用 Doctrine QueryBuilder 创建一个查询,以通过电子邮件结尾选择一群用户。我有一系列电子邮件结尾,例如['@someservice.com', '@anotherservice.com' ].
我知道我可以通过WHERE IN以下方式在数组中选择字符串:
$qb= $this
->createQueryBuilder('u')
->orderBy('u.id', 'asc')
->where('u.email IN (:emails)')
->setParameter('emails', [
'@someservice.com',
'@anotherservice.com'
]);
Run Code Online (Sandbox Code Playgroud)
然而,这个查询字符串的确切出现次数,因此查询当然会返回一个空的结果集。
这就是为什么我想在数组上做一个 LIKE 搜索,但做一些事情:
$qb= $this
->createQueryBuilder('u')
->orderBy('u.id', 'asc')
->where('u.email LIKE IN (:emails)')
->setParameter('emails', [
'%@someservice.com',
'%@anotherservice.com'
]);
Run Code Online (Sandbox Code Playgroud)
不幸的是失败了。是否有一些语法糖可以进行这样的查询,还是我必须用一堆orHaving调用进行查询?
假设有一个 SQL 表:testTable,其中包含以下列:clientID、colA、colB、colC。
reference clientID colA colB colC
---------------------------------------------
001 1 test1 test2 test3
002 1 test1 ball2 test3
003 2 test1 ball2 test3
004 2 test1 ball2 test3
005 3 test1 test2 test3
006 4 test1 test2 test3
007 4 test1 test2 test3
009 5 test1 ball2 test3
---------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我想选择所有不同的行,其中 colB 类似于“test”并按 clientID 进行分组。所以我最终得到:
reference clientID colA colB colC
----------------------------------------------
001 1 test1 test2 test3
005 3 test1 test2 test3
006 4 test1 test2 test3
----------------------------------------------
Run Code Online (Sandbox Code Playgroud)
编辑:如果我使用 select unique …
我正在尝试在postgresql LIKE中使用下划线执行对特定数据模式的搜索,但它似乎不起作用。
客户端的版本为9.2.21,服务器的版本为9.4.12。
例如,
select *
from table1
where f1 like '___'
Run Code Online (Sandbox Code Playgroud)
即使表中明显存在匹配项,也不会返回任何内容(即,存在具有匹配值的数据),例如f1 = '123'。
我想知道是否有系统配置/参数会影响此行为?
还是可以用其他方式解释一下?
我想隔离一些具有特定标题的电子邮件。我可以在 where 子句中使用与 OR 连接的多个“like”。这给了我一些结果。但是,如果我尝试在 ('____'、'____' 等) 中执行____,代码会突然返回任何内容。
这是行不通的。
select DATE_TRUNC(DATE(send_time,"America/Los_Angeles"), week(monday)) as week,
status,
settings_title,
sum(emails_sent) as emails_sent,
sum(report_summary_opens) as report_summary_opens,
sum(report_summary_unique_opens) as report_summary_unique_opens,
sum(report_summary_subscriber_clicks) as report_summary_subscriber_clicks
from mailchimp.campaigns_view
where status = 'sent'
and settings_title in ('%_LL_%', '%_IC_%', '%_AC_%', '%_CC_%', '%_PC_%')
group by 1,2,3
order by 1 desc
Run Code Online (Sandbox Code Playgroud)
然而,这确实有效。
select DATE_TRUNC(DATE(send_time,"America/Los_Angeles"), week(monday)) as week,
status,
settings_title,
sum(emails_sent) as emails_sent,
sum(report_summary_opens) as report_summary_opens,
sum(report_summary_unique_opens) as report_summary_unique_opens,
sum(report_summary_subscriber_clicks) as report_summary_subscriber_clicks
from mailchimp.campaigns_view
where status = 'sent'
and (settings_title like '%_LL_%'
or …Run Code Online (Sandbox Code Playgroud) 我有以下查询:
SELECT * FROM table_name
WHERE (genre LIKE '%romance%'
OR genre LIKE '%comedy%'
OR genre LIKE '%horror%')
ORDER BY *the column that has more*
Run Code Online (Sandbox Code Playgroud)
或类似的东西
$sql = "SELECT * FROM table WHERE
(genre LIKE '%romance%' AND genre LIKE '%comedy%' AND genre LIKE '%horror%')
#If result < 12
(genre LIKE '%romance%' AND genre LIKE '%comedy%') OR (genre LIKE '%romance%' AND genre LIKE '%horror%') OR (genre LIKE '%comedy%' AND genre LIKE '%horror%')
#If result < 12
(genre LIKE '%romance%' OR genre LIKE …Run Code Online (Sandbox Code Playgroud) 我正在解决来自 Hackerrank 的 SQL 问题。我必须进行查询,以便它为我提供所有以 a、e、i、o 或 u 开头的城市名称。我正在使用 Like 运算符,但仍然是错误的答案。
这是问题链接
这是我的解决方案-
SELECT DISTINCT CITY
FROM STATION
WHERE CITY LIKE '[AEIOU]%'
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下吗?
我想在多列中搜索一个字符串以检查它是否存在于任何列中。我在这里找到了一个解决方案Thorsten
的答案很短,但这是针对 mysql 服务器的解决方案,而不是针对 SQL Server。所以我想在 SQL Server 中应用类似的查询。
这是 Thorsten 建议的查询。
Select *
from tblClients
WHERE name || surname LIKE '%john%'
Run Code Online (Sandbox Code Playgroud)
我试过了
/* This returns nothing */
Select *
from Items
Where ISNULL(Code, '') + ISNULL(Code1, '') = '6922896068701';
Go
/* This generate error Msg 102, Level 15, State 1, Line 3
Incorrect syntax near '|'.
I also used this one in mysql but it does not show the exact match.
*/
Select *
from Items …Run Code Online (Sandbox Code Playgroud) 这是我在 SQL Server 中的查询。我想按以该子字符串“[PROS]”结尾的每个广告活动进行分组。
然而,我最后包含的结果表还有一些以“[RT]”结尾的表
-- Metrics for Each Date & Specific Campaign
SELECT
campaign_name,
SUM(clicks) AS Total_Clicks
FROM
FB_Raw
GROUP BY
campaign_name
HAVING
campaign_name LIKE '%' + '[PROS]' + '%';
04_Remarketing_BOFU_3.31.2020 [RT] | 568
04_Remarketing_BOFU(optimize=PUR)_5.16.2020 [RT] | 0
02_Prospecting_CBO_BidCaps_CH_6.29.20 [PROS] | 2741
02_Prospecting_CostCaps$500_5.12.2020 [PROS] | 7549
04_Remarketing_Content_ATC/IC_4.10.2020 [RT] | 478
04_Remarketing_Content_Visitors_4.30.2020 [RT] | 381
04_Remarketing_MOFU_3.31.2020 [RT] | 2005
04_Remarketing_BOFU_CH_6.29.20 [RT] | 9
02_Prospecting_LC_Broad_Narrative [PROS] | 6261
02_Prospecting_CBO_BidCaps_OGCreative_6.9.2020 [PROS] | 1405
02_Prospecting_LC_Broad_6.30.2020 [PROS] | 2512
Run Code Online (Sandbox Code Playgroud) 在下面的代码中
var_dump($row);
Run Code Online (Sandbox Code Playgroud)
节目 NULL
$query = "SELECT * FROM maintable WHERE Category LIKE '$word'
OR Title LIKE '$word'
OR Title2 LIKE '$word'
OR Description LIKE '$word'
OR Description2 LIKE '$word'
OR Preimushestva LIKE '$word'
OR Preimspisok LIKE '$word';";
$result = mysqli_query($link, $query)
or die("Error: ".mysqli_error($link));
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
var_dump($row);
Run Code Online (Sandbox Code Playgroud)
并且$word = 'dolor'
我在我的桌子上有单词dolor,在说明选项卡中帮我找错了
sql-like ×10
sql ×8
mysql ×4
php ×3
sql-server ×3
string ×2
where-clause ×2
arrays ×1
doctrine-orm ×1
get ×1
group-by ×1
mysqli ×1
padding ×1
postgresql ×1
sql-in ×1
sql-order-by ×1
sqldatatypes ×1
symfony ×1