加入 MySQL 个表,select 行,列以字符串开头,并使用乘法进行过滤
Join MySQL tables, select rows with column starting with string and use multiplication to filter
我有两个数据库,我将这样连接它们:
select *
from business,activity
where business.primary_activity_id = activity.id;
但是,我想 select 从此连接查询中标识符(从 activity table 导入)以“01”开头的行。“[=14] =]
我正在尝试这个查询:
select *
from business,activity
where business.primary_activity_id = activity.id
and identifier like "01.";
嗯,没用。空查询。
手动检查 table 并且有行的标识符以“01”开头。
有人可以启发我的旅程吗?
虽然@anonyXmous 的回答是评论,但我还想补充一些东西。
首先,LIKE
的通配符是%
来匹配任意长度的子串,包括零长度。单个字符的通配符是下划线('_'
).
其次,您不应该在 from
子句中使用逗号。学习使用正确、明确的 JOIN
语法。 从不 在 FROM
子句中使用逗号。
第三,table 别名使查询更易于编写和阅读。然后使用它们来限定所有列名。
第四,字符串常量使用单引号。所以:
select b.*, a.*
from business b join
activity a
on b.primary_activity_id = a.id
where a.identifier like '01.%';
我有两个数据库,我将这样连接它们:
select *
from business,activity
where business.primary_activity_id = activity.id;
但是,我想 select 从此连接查询中标识符(从 activity table 导入)以“01”开头的行。“[=14] =]
我正在尝试这个查询:
select *
from business,activity
where business.primary_activity_id = activity.id
and identifier like "01.";
嗯,没用。空查询。
手动检查 table 并且有行的标识符以“01”开头。 有人可以启发我的旅程吗?
虽然@anonyXmous 的回答是评论,但我还想补充一些东西。
首先,LIKE
的通配符是%
来匹配任意长度的子串,包括零长度。单个字符的通配符是下划线('_'
).
其次,您不应该在 from
子句中使用逗号。学习使用正确、明确的 JOIN
语法。 从不 在 FROM
子句中使用逗号。
第三,table 别名使查询更易于编写和阅读。然后使用它们来限定所有列名。
第四,字符串常量使用单引号。所以:
select b.*, a.*
from business b join
activity a
on b.primary_activity_id = a.id
where a.identifier like '01.%';