我有一个MySQL表,如下所示:
ID / X_ID / x_key / X_VALUE
4分之322/名称/插座
5分之323/名称/玛丽
6分之324/名称/约翰
4分之325/隐藏/ 1
5分之326/隐藏/ 0
6分之327/隐藏/ 0
我想从“隐藏”键对应于“0”值的人中选择名称。 这里选择的“x_values”将是 Mary和John
为此,我有可以在记录之间进行比较的x_id。
哪个x_id对应于与x_value =“0”匹配的x_key =“hide”?
x_id的5和6都是。
哪个“x_values”对应于这两个x_id,其中x_key =“name”?玛丽和约翰
换句话说,我试图获得一个混合这两个查询的查询,以便只获得Mary和John:
查询A:
SELECT
x_id,
x_value
FROM
mytable
WHERE
x_key='name'
查询B:
SELECT
x_id
FROM
mytable
WHERE
x_key='hide'
AND
x_value='0'
我只是找不到正确的方法。 我怎么能?
我真的很抱歉这个解释,但我不是英国人,而且很难解释。
答案 0 :(得分:1)
如果我理解你是正确的,你想要选择具有x_key
x_value = '0'
且x_key != 'hide'
且未隐藏(SELECT bb.x_value
FROM mytable AS aa
INNER JOIN mytable AS bb
ON aa.x_id = bb.x_id
WHERE aa.x_key = 'hide' AND aa.x_value = 0 AND bb.x_key = 'name';
)的元素。
SELECT x_id, x_key, x_value
FROM mytable
WHERE x_key='name' AND x_key != 'hide' AND x_value = '0'
OLD ANSWER(在您编辑之前):
android:focusable="true"
android:focusableInTouchMode="true"
android:descendantFocusability="beforeDescendants"
答案 1 :(得分:1)
你应该使用join来连接表的两个实例 - 一个用于名称,一个用于'hides'
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;
虽然这会起作用,但我认为在同一个表中使用两种类型的数据并不是一个好习惯。我建议你把它分成两个表 - 一个用于名称,一个用于隐藏
答案 2 :(得分:0)
如果我理解你是正确的,你想要将''SELECT'与不同的'WHERE'法则结合起来。您可以使用“OR”语句
SELECT x_id,x_value FROM mytable WHERE x_key='name' OR x_key='hide' AND x_value='0'