加入MySQL表,选择列以字符串开头的行并使用乘法进行过滤

问题描述 投票:0回答:1

我有两个数据库,我加入他们是这样的:

select *
from business,activity 
where business.primary_activity_id = activity.id; 

但是,我想从此连接查询中选择标识符(从活动表导入)的行以“01”开头。

我在尝试这个查询:

select * 
from business,activity
where business.primary_activity_id = activity.id
    and identifier like "01.";

嗯,它不起作用。空查询。

手动检查表格,标识符以“01”开头的行。有人可以开启我的旅程吗?

mysql sql join sql-like
1个回答
1
投票

虽然@anonyXmous作为评论回答,但我想补充一些东西。

首先,LIKE的通配符是%,以匹配任何长度的子字符串,包括零长度。单个字符的通配符是下划线('_')。

其次,你不应该在from子句中使用逗号。学习使用正确的,明确的JOIN语法。切勿在FROM条款中使用逗号。

第三,表别名使查询更容易编写和读取。然后使用它们来限定所有列名称。

第四,对字符串常量使用单引号。所以:

select b.*, a.*
from business b join
     activity a
     on b.primary_activity_id = a.id
where a.identifier like '01.%';
© www.soinside.com 2019 - 2024. All rights reserved.