Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 组合数据库查询_Mysql_Database_Join - Fatal编程技术网

Mysql 组合数据库查询

Mysql 组合数据库查询,mysql,database,join,Mysql,Database,Join,我有一个MySQL表,如下所示: ID/x_ID/x_键/x_值 322/4/姓名/插孔 323/5/姓名/玛丽 324/6/姓名/约翰 325/4/hide/1 326/5/隐藏/0 327/6/hide/0 我想从“隐藏”键对应于“0”值的人员中选择姓名。 在这里,这些选定的“x_值”将是玛丽和约翰 为此,我有x_id,可以在记录之间进行比较 哪个x_id对应于与x_值=“0”匹配的x_ukey=“hide” x_id都是5和6 哪些“x_值”对应于这两个x_id,其中x_key=“na

我有一个MySQL表,如下所示:

ID/x_ID/x_键/x_值


322/4/姓名/插孔

323/5/姓名/玛丽

324/6/姓名/约翰

325/4/hide/1

326/5/隐藏/0

327/6/hide/0


我想从“隐藏”键对应于“0”值的人员中选择姓名。 在这里,这些选定的“x_值”将是玛丽和约翰

为此,我有x_id,可以在记录之间进行比较

哪个x_id对应于与x_值=“0”匹配的x_ukey=“hide”

x_id都是5和6

哪些“x_值”对应于这两个x_id,其中x_key=“name”?玛丽和约翰

换句话说,我试图得到一个将这两个查询混合在一起的查询,以便只得到Mary和John:

查询A:

SELECT 
    x_id,
    x_value 
FROM 
    mytable 
WHERE 
    x_key='name' 
SELECT 
    x_id 
FROM 
    mytable 
WHERE 
    x_key='hide' 
AND 
    x_value='0'
查询B:

SELECT 
    x_id,
    x_value 
FROM 
    mytable 
WHERE 
    x_key='name' 
SELECT 
    x_id 
FROM 
    mytable 
WHERE 
    x_key='hide' 
AND 
    x_value='0'
我只是找不到正确的方法。 我该怎么办


我真的很抱歉这样解释,但我不是英国人,这很难解释。

如果我理解了您的意思,您希望选择具有特定
x_键的元素,该键具有
x_值='0'
,并且没有隐藏(
x_键!=“hide”

编辑(根据您的编辑):

旧答案(编辑前):


如果我理解你的意思是正确的,你需要将2个“选择”与不同的“位置”状态结合起来。您可以使用“或”语句

SELECT x_id,x_value FROM mytable WHERE x_key='name' OR x_key='hide' AND x_value='0'

应该使用join连接表的两个实例—一个用于名称,另一个用于“隐藏”

select n.x_id, n.x_value from mytable as h inner join myable as n on 
h.x_id = n.x_id where n.x_key = 'name' and h.x_key = 'hide' and H.x_value = 0;

虽然这会起作用,但我认为将两种类型的数据放在同一个表中不是一个好做法。我建议您将其拆分为两个表—一个用于名称,一个用于隐藏

您的表结构是什么?id-x_id-x_key-x_值。谢谢
x\u id是外键
。。。到哪个表格?对不起,我编辑了我的帖子以使事情更清楚。如果你的意思不同,请相应地更新你的问题,提供更多信息。我编辑了问题。我希望这次会更清楚。我真的尽力了。谢谢你的帮助。我试图从这个表中检索数据,但不是我创建的。事实上,这是Wordpress postmeta表。。。这是一个通用表,插件创建者可以利用它,而不会弄乱数据库。这并不理想,但它允许插入几乎所有内容(key=>value),而无需更改表结构本身。我会试试你的问题,然后再给你回复。谢谢。不是这样,不过还是谢谢你。如果你想知道这是怎么回事,请参阅更新的问题。