我正在尝试连接2个表,我需要在第二个表中只显示3列,其中另一列用作比较。
例如:
表1称为employee:它有一个名为user_id的列和一些其他列
表2称为人员:它有一个名为user_id的列,其中包含一些员工user_ids
我想要选择的列全部来自桌面人物! (名字,姓氏,电子邮件)
我尝试了以下但出了点问题:
SELECT userid, firstname, lastname, email
FROM people
JOIN employee
WHERE people.userid = employee.userid;
我不确定我做错了什么,请你帮我纠正一下?
答案 0 :(得分:5)
您可以尝试此查询:
{
"query": {
"nested": {
"path": "products",
"query": {
"bool": {
"must": [
{ "wildcard": { "products.product": "*car*" }},
{ "wildcard": { "products.number": "*5*" }}
]
}
}
}
}
}
答案 1 :(得分:2)
查看您的脚本,看起来您将至少在您的用户ID中遇到含糊不清的列。如果在两个表之间存在共享相同名称的列,则需要在WHERE子句中明确告诉SQL列的来源。
SELECT
userid, -- AMBIGUOUS
firstname,
lastname,
email
FROM people
JOIN employee
WHERE people.userid = employee.userid;
示例解决方案:
SELECT
people.userid,
people.firstname,
people.lastname,
people.email
FROM people
JOIN employee
WHERE people.userid = employee.userid;
答案 2 :(得分:2)
对于此问题,您可以使用此查询
让我假设我有一个用户表,其中一个用户拥有零到一个个人资料图片
对于没有个人资料图片的用户,我需要用户(姓名,姓氏,出生日期) 我可以使用此查询
select *
from user c
where NOT EXISTS (
select 1
from photo p
where p.id = c.photo_id
)
在这里你可以使用这两个表之间的任何字段
删除not将导致拥有个人资料图片的用户
希望这能帮到你
您可以搜索 SEMI JOIN 和 ANTI JOIN 以获取更多信息
答案 3 :(得分:0)
我认为此查询可以解决您的问题
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>