如何解决mysql中同一表的并集
我有来自同一表的三个查询输出。但必须将所有3个合并为单个mySQL查询
<form method="post" action="">
<!-- INFO SECTION -->
<div id="infos">
<h2>Infos personnelles</h2>
<input placeholder="Prénom">
<input placeholder="Nom">
</div>
<!-- TRAINING SECTION -->
<div id="training">
<h2>Formation</h2>
<!-- Template -->
<div id="new-training" style="display:none">
<div>
</br>
<p></p>
<input id="mytext" type="text" name="training[1][institut]" placeholder="Diplôme" value="">
<input name="training[1][institut]" placeholder="Institut">
</div>
</div>
</div>
<p id="addnew">
<a href="javascript:addTraining()">+ Ajouter une formation</a>
</p>
<p>
<br>
<input type="submit" value="Sauvergarder" name="submit">
</p>
</form>
<script> // 1st : Enregistrer / supprimer une formation
var ct = 1;
function addTraining()
{
ct++;
var div1 = document.createElement('div');
div1.id = ct;
// link to delete extended form elements
var delLink = '<a href="javascript:removeTraining('+ ct +')">Supprimer cette formation</a>';
div1.innerHTML = document.getElementById('new-training').innerHTML + delLink;
document.getElementById('training').appendChild(div1);
}
function removeTraining(eleId)
{
d = document;
var ele = d.getElementById(eleId);
var parentEle = d.getElementById('training');
parentEle.removeChild(ele);
}
这三个输出都是唯一的值,彼此之间没有关系。我只需要使其平行。 我尝试将Union与3个quires一起使用的实际输出,但未达到预期的结果。
提前感谢,,,
解决方法
您可以为每个查询分配ROW_NUMBER()
,如果只是为了同时显示它们,可以使用JOIN
。类似于下面的查询:
SELECT SKU_VARIANT1_VALCD,SKU_VARIANT1_VALUE_DESC,SKU_VARIANT2_VALCD,SKU_VARIANT2_VALUE_DESC,MIN_LOT_PRICE,MAX_LOT_PRICE
FROM
(SELECT SKU_VARIANT1_VALCD,ROW_NUMBER() OVER (ORDER BY SKU_VARIANT1_VALCD) rnum
FROM lot_table WHERE SKU_VARIANT1_VALCD IS NOT NULL
GROUP BY SKU_VARIANT1_VALCD) A
LEFT JOIN
(SELECT SKU_VARIANT2_VALCD,ROW_NUMBER() OVER (ORDER BY SKU_VARIANT2_VALCD) rnum
FROM lot_table WHERE SKU_VARIANT2_VALCD IS NOT NULL
GROUP BY SKU_VARIANT2_VALCD) B ON A.rnum=B.rnum
LEFT JOIN
(SELECT MIN(LOT_PRICE) MIN_LOT_PRICE,MAX(LOT_PRICE) MAX_LOT_PRICE,ROW_NUMBER() OVER (ORDER BY SKU_VARIANT2_VALCD) rnum
FROM lot_table) C ON A.rnum=C.rnum;
,
您能提供lot_table的表结构吗?
我猜您的lot_table具有以下结构:
SKU_VARIANT1_VALCD,LOT_PRICE
我是根据您发布的实际查询做出此推断的。
您似乎想找到variant1和variant2组合的最小手价和最大手价。这是正确的吗?
如果是,您为什么还要要求全部工会?一个简单的分组查询不适合您吗?如果上面提到的表结构正确,这就是我会做的事情。
select
SKU_VARIANT1_VALCD,MIN(LOT_PRICE) MIN_LOT_PRICE,MAX(LOT_PRICE) MAX_LOT_PRICE
from lot_table
group by SKU_VARIANT1_VALCD,SKU_VARIANT2_VALUE_DESC;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。