SQL根据列值条件返回行

问题描述

我有下表

订单表

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)