非常感谢您的帮助。
我有一个包含2列service_id和artist_id的下表。主键是(service_id,artist_id)。我想检索一组服务ID的所有艺术家。
Sample Table : service_id artists_id 5 9 6 9 5 10 1 9 5 1 6 1 6 7 1 10
我尝试了这个并且它不起作用,因为它给所有提供服务ID 5或服务ID 6或服务ID 1的艺术家。
SELECT artists_id FROM `service_schedule` WHERE service_id IN (5, 6, 1)
我想要提供服务ID 5和服务ID 6和服务ID 1的艺术家1.对于上面的示例表,只有艺术家9给出了集合中的所有3个服务(5,6,1)。
所以如果我想要检索所有可以提供id为5和6以及1的服务的艺术家。我如何编写SQL查询?
答案 0 :(得分:1)
试一试后,
<html>
<head>
<script>
$(function() {
$('.go-btn').on('click', function() {
var selected = $('#my-dropdown option:selected');
$.ajax({ //create an ajax request to load_page.php
type: "GET",
url: "boxplot.html",
dataType: "html", //expect html to be returned
success: function(response){
$("#responsecontainer").html(response);
//alert(response);
}
});
//alert(selected.val());
});
});
</script>
</head>
<body>
some text
<button class="go-btn" type="submit">Go</button>
<div id="responsecontainer">
<br><hr><br>
<h2>PCA Plot Distribution:</h2><br>
</body>
</html>
我正在获取所有大于1的artist_id,并且必须是5和6的service_id。
我希望这会有所帮助。
修改强>
select artist_id from table where service_id IN (5, 6) AND
artist_id IN (select artist_id from table group by artist_id having count(*) > 1);
你可以得到,service_ids,如5,6或5,6,1,你只需要计算服务ID,然后用select artists_id from Sample where service_id IN (5, 6, 1)
AND
artists_id IN (select artists_id from Sample group by artists_id
having count(*) > 2) group by artists_id;
代替2
修改强>
keep that value - 1
答案 1 :(得分:0)
试试这个:
SELECT DISTINCT(s1.artists_id) FROM service_schedule s1
JOIN service_schedule s2 ON s2.service_id = s1.service_id AND s2.artists_id <> s1.artists_id
WHERE s1.service_id IN (5, 6, 1)
答案 2 :(得分:0)
这个问题对我来说并不是很清楚,但如果我清楚地理解了这个问题,那么解决方案是适合你的。
select s1.service_id, s1. artists_id
from Sample s1 inner join Sample s2
on s1.artists_id = s2.artists_id
where s2.service_id = 5 and s1.service_id = 6
union
select s1.service_id, s1. artists_id
from Sample s1 inner join Sample s2
on s1.artists_id = s2.artists_id
where s2.service_id = 6 and s1.service_id = 5
答案 3 :(得分:0)
您必须按查询使用分组:
arist_id
当条件为真时, service_id
将被评估为1,并且您想要检查每个artist_id是否为3(提供所有三项服务 - DynamoDBRangeKey
和@DynamoDBRangeKey
private String empId;
是唯一的,所以不需要在这里检查重复的行)