在mysql中不能使用与相同的参数

wfsdck30  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(362)
select producten_pid from prodsymp where symptomen_id = 11 and symptomen_id = 18;

我正在mysql表上尝试上面的select语句。但我没有得到任何结果,在我应该得到的地方。我做错什么了?
谢谢你的回答。其想法是为问题和解决方案创建一个数据库,其中一个问题可以有多个解决方案,一个解决方案可以解决多个问题。我创建了这个参考表'probsol',同时引用了下面的问题和解决方案表。

psid    1   2   3   4   5   6   7   8   9  
 pid    11  11  12  12  17  18  18  19  20  
 sid    18  9   18  10  10  18  9   13  13

现在我尝试创建一个查询来查找多个问题的单个解决方案,如下所示:

select sid from prodsymp where pid = 11 and pid = 12;

这个查询的结果应该是18,但我得到的结果是0。

ddrv8njm

ddrv8njm1#

你的逻辑是错误的。 symptomen_id 不能两者同时存在。使用 or .
更好的是,使用 in 像这样:

select producten_pid from prodsymp where symptomen_id in (11, 18).

编辑:
在你修改了你的问题之后,你的问题变得完全不同了。
也许这个查询可以帮助:

SELECT
    sid,
    count(*) as cnt   
FROM
    producten_pid    
where
    pid in (
        11,12
    )    
group by
    sid    
having
    count(*) > 1
vjrehmav

vjrehmav2#

mysql正在按预期工作。你要求吵架在哪里 symptomen_id 同时是11号和18号。不可能有这样的行,所以你不会得到任何结果。
也许你想用 OR .

相关问题