我正在尝试将两个表Customer
和Invoice
中的三列连接起来,创建一个新列,并找到其名称以SQl Server中的'Astridgruber'开头的new_id成员。
以下内容导致错误。
select
concat(c.FirstName, c.LastName, i.InvoiceId) as New_Id
from
Invoice i, Customer c
where
i.[CustomerId] = c.CustomerId
where
New_Id = 'AstriGruber%'
非常感谢您的帮助。
这些是来自Chinook数据库的表:
太久了,无法发表评论。您有几个问题:
JOIN
语法,而不是逗号联接;WHERE
子句过多; AND
个条件一起;WHERE
子句中使用别名;将New_Id
替换为concat(c.FirstName,c.LastName,i.InvoiceId)
;LIKE
,而不是=
您的所有查询应如下所示:
select concat(c.FirstName,c.LastName,i.InvoiceId) as New_Id
from Invoice i
join Customer c on i.CustomerId = c.CustomerId
where concat(c.FirstName,c.LastName,i.InvoiceId) LIKE 'AstriGruber%'