SQL根据列值条件返回行

时间:2020-09-12 13:08:49

标签: sql boolean-logic sql-function

我有下表

订单表

INSERT INTO grps (name, nameKind, alias, aliasKind) VALUES ('B', 'alias', NULL, NULL);
ERROR 3819 (HY000): Check constraint 'CH_grps_nameKind' is violated.

跟踪表

.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
grid-row-gap: 80px;
grid-column-gap: 50px;
justify-content: start; 
}


  .grid .photo {
  width: 100%;
  background-size: contain;
  background-position: center;
  }

.grid .photo:after {
content: "";
display: block;
padding-bottom: 100%;
}

<div class="grid">
<article> 
<a href="#">
<div class="photo" style="background-image: url(img/example1.jpg);"></div>
<div class="text">
<h3>Title</h3>
<p>This is a dummy text to show an example</p>
</div>
</a>
</article> 

<article> 
<a href="#">
<div class="photo" style="background-image: url(img/example2.jpg);"></div>
<div class="text">
<h3>Title</h3>
<p>This is a dummy text to show an example</p>
</div>
</a>
</article> 

<article> 
<a href="#">
<div class="photo" style="background-image: url(img/example3.jpg);"></div>
<div class="text">
<h3>Title</h3>
<p>This is a dummy text to show an example</p>
</div>
</a>
</article>

审阅表

OrderNo  CategoryID  SubCategoryID  CountryID
 100         7         1             3
 200         8         2             5
 300         7         2             4
 400         2         6             2

预期结果

OrderNo  CountryID   TrackingTypeID
 100        2             1
 200        1             2
 100        3             3
 400        5             5
 200        2             2

每个子类别都属于一个类别。

现在我想为以下要求编写查询。

  1. 仅返回 OrderNo 300 100 200 (7,8)的订单

    1.1如果订单中有OrderNo SubCategoryID CategoryID CountryID CountryID 100 1 7 3 3 200 2 8 5 5 300 2 7 4 4 (1,4) 仅返回在“跟踪”表中具有记录的订单 与CategoryID表中的SubCategoryID相同。 并且该订单在跟踪中的CountryID不应为(5,6) 桌子。

    1.2如果订单具有Order(2,6),则该订单必须 在TrackingTypeID表中有一条记录,该订单不应包含 SubCategoryID表中的Reviewed(5,6)

  2. 排除所有TrackingTypeID不属于Tracking(7,8)的订单

我写了下面的脚本,但问题是它始终只在第二个条件下运行,并且没有返回满足第一个条件的命令。 但是,如果我仅在第一个条件下运行脚本,我将获得这些命令。我不知道我在做什么错。

SubCategoryID

0 个答案:

没有答案