我想用where子句写两个条件的select查询。
IO
如果找到同时包含AAAA和null的记录,我想优先考虑AAAA。 怎么做?
答案 0 :(得分:1)
仅当相应的AAAA不存在时才考虑'null'条目:
WHERE ... OR(column1为空且不存在(select * from table1 as inner where inner.user_name = outer.user_name and inner.column1 ='AAAA'))
使用EXCEPT的变化将更接近RA式思维,但可能会因为你在这里使用NULL而失败。
修改
(只有在需要更多属性而不仅仅是user_name的情况下才能记住这个答案,并且这些属性必须精确匹配为结果集保留的行。)
答案 1 :(得分:0)
只是
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>
<div id="Startseite">
<div class="container CentermiddleStart">
<div class="row">
<div class="col-12">
<h1>Header</h1>
<h3>Subheader</h3>
</div>
</div>
<div class="row">
<div class="col-xs-6" id="button-right">
<a href="#" class="btn btn-default btn-lg">Get started</a>
</div>
<div class="col-xs-6" id="button-left">
<a href="#" class="btn btn-default btn-lg">Get started</a>
</div>
</div>
</div>
</div>
</body>
答案 2 :(得分:0)
如果找到同时包含AAAA和null的记录,那么&#34;是什么意思。&#34;优先考虑AAAA&#34;?
一种解释是返回AAAA记录。如果不存在,则选择NULL
:
select distinct user_name
from table1
where column1 = AAAA
union all
select distinct user_name
from table1
where column1 is null and (not exists select 1 from table1 where column1 = AAAA);