2 kykiske22 KyKiske22 于 2015.06.28 17:17 提问

两个SELECT 句子如何整合?

句子1: "SELECT 名称,销售记录.数量,总价 FROM 服装类商品,销售记录 WHERE 服装类商品.产品编号=销售记录.产品编号 AND 销售记录.产品编号 IN (SELECT 销售记录.产品编号 FROM 销售记录 WHERE 销售时间 BETWEEN '"+ this.dateTimePicker1.Value + "' AND '" + this.dateTimePicker2.Value + "')"
句子2: "SELECT 名称,销售记录.数量,总价 FROM 食品类商品,销售记录 WHERE 食品类商品.产品编号=销售记录.产品编号 AND 销售记录.产品编号 IN (SELECT 销售记录.产品编号 FROM 销售记录 WHERE 销售时间 BETWEEN '"+ this.dateTimePicker1.Value + "' AND '" + this.dateTimePicker2.Value + "')"

3个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.06.28 17:52
使用union
 SELECT 名称,销售记录.数量,总价 FROM 服装类商品,销售记录 WHERE 服装类商品.产品编号=销售记录.产品编号 AND 销售记录.产品编号 IN (SELECT 销售记录.产品编号 FROM 销售记录 WHERE 销售时间 BETWEEN '"+ this.dateTimePicker1.Value + "' AND '" + this.dateTimePicker2.Value + "')"
 +" union "
 + "SELECT 名称,销售记录.数量,总价 FROM 食品类商品,销售记录 WHERE 食品类商品.产品编号=销售记录.产品编号 AND 销售记录.产品编号 IN (SELECT 销售记录.产品编号 FROM 销售记录 WHERE 销售时间 BETWEEN '"+ this.dateTimePicker1.Value + "' AND '" + this.dateTimePicker2.Value + "')"

danielinbiti
danielinbiti 回复KyKiske22: 如果有帮助,有时间顺手采纳一下
2 年多之前 回复
KyKiske22
KyKiske22 果然可以啊,谢谢。之前习惯用LEFT JOIN了,没想到UNION可以这样直接联用。受教了
2 年多之前 回复
xianfajushi
xianfajushi   2015.06.28 17:39

字符串处理,把相同部分单独写,不同部分作为参数,返回你想要的字符串即可.

yxjie2
yxjie2   2015.06.28 17:53

用UNION把两句SELECT 拼接起来即可:
SELECT c1, c2, c3 FROM t1
UNION
SELECT c1, c2, c3 FROM t2

上面的两组字段“c1, c2, c3” 要求名字相同、类型相同且顺序相同。

希望能帮到你。

Csdn user default icon
上传中...
上传图片
插入图片