SQL-如何将工会查询结果移至新表格?
I have a sample query below that works fine before trying to move it into a new table:
SELECT CONVERT(DATE,a.ins_timestamp) AS 'Date',
a.Prod_code,
a.Curr_boxes,
a.Label_barcode,
b.From_ord_no,
NULL AS To_ord_no,
CASE
WHEN a.From_batch >= a.To_batch THEN a.From_batch
WHEN a.To_batch >= a.From_batch THEN a.To_batch
ELSE a.From_batch
END AS 'Batch',
a.Weight,
'IN' AS 'Direction'
FROM a
JOIN b ON a.Label_barcode = b.Label_barcode
WHERE (a.ins_timestamp Between ? And ?) AND (a.To_batch = ?) AND (a.From_batch = 0) AND (a.Type='Consumption') AND (a.To_status<>'STOCK') AND (b.From_status = 'PORDER')
GROUP BY CONVERT(DATE,a.ins_timestamp),
a.Prod_code,
a.Curr_boxes,
a.Label_barcode,
b.From_ord_no,
a.From_batch,
a.To_batch,
a.Weight,
a.From_status,
a.To_status
union
SELECT CONVERT(DATE,b.ins_timestamp) AS 'Date',
b.Prod_code,
b.Curr_boxes,
b.Label_barcode,
NULL AS From_ord_no,
NULL AS To_ord_no,
CASE
WHEN b.From_batch >= b.To_batch THEN b.From_batch
WHEN b.To_batch >= b.From_batch THEN b.To_batch
ELSE b.From_batch
END AS 'Batch',
b.Weight,
'IN' AS 'Direction'
FROM b
WHERE (b.From_batch = 0) AND (b.Type='Consumption') AND (b.ins_timestamp Between ? And ?) AND (b.To_batch = ?) AND (b.To_status<>'STOCK')
GROUP BY CONVERT(DATE,b.ins_timestamp),
b.Prod_code,
b.Curr_boxes,
b.Label_barcode,
b.From_batch,
b.To_batch,
b.Weight,
b.From_status,
b.To_status
How do i move these two queries into a new table?请注意,我将SQL查询使用到Excel电子表格中。
I have tried the following... but i keep on getting an error saying 'Invalid Parameter Number' and 'Invalid Descriptor Index'
CREATE TABLE temp_UNION AS
(
SELECT CONVERT(DATE,a.ins_timestamp) AS 'Date',
a.Prod_code,
a.Curr_boxes,
a.Label_barcode,
b.From_ord_no,
NULL AS To_ord_no,
CASE
WHEN a.From_batch >= a.To_batch THEN a.From_batch
WHEN a.To_batch >= a.From_batch THEN a.To_batch
ELSE a.From_batch
END AS 'Batch',
a.Weight,
'IN' AS 'Direction'
FROM a
JOIN b ON a.Label_barcode = b.Label_barcode
WHERE (a.ins_timestamp Between ? And ?) AND (a.To_batch = ?) AND (a.From_batch = 0) AND (a.Type='Consumption') AND (a.To_status<>'STOCK') AND (b.From_status = 'PORDER')
GROUP BY CONVERT(DATE,a.ins_timestamp),
a.Prod_code,
a.Curr_boxes,
a.Label_barcode,
b.From_ord_no,
a.From_batch,
a.To_batch,
a.Weight,
a.From_status,
a.To_status
union
SELECT CONVERT(DATE,b.ins_timestamp) AS 'Date',
b.Prod_code,
b.Curr_boxes,
b.Label_barcode,
NULL AS From_ord_no,
NULL AS To_ord_no,
CASE
WHEN b.From_batch >= b.To_batch THEN b.From_batch
WHEN b.To_batch >= b.From_batch THEN b.To_batch
ELSE b.From_batch
END AS 'Batch',
b.Weight,
'IN' AS 'Direction'
FROM b
WHERE (b.From_batch = 0) AND (b.Type='Consumption') AND (b.ins_timestamp Between ? And ?) AND (b.To_batch = ?) AND (b.To_status<>'STOCK')
GROUP BY CONVERT(DATE,b.ins_timestamp),
b.Prod_code,
b.Curr_boxes,
b.Label_barcode,
b.From_batch,
b.To_batch,
b.Weight,
b.From_status,
b.To_status
)
Any suggestions would be greatly appreciated!
谢谢, 约旦
I have a sample query below that works fine before trying to move it into a new table:
SELECT CONVERT(DATE,a.ins_timestamp) AS 'Date',
a.Prod_code,
a.Curr_boxes,
a.Label_barcode,
b.From_ord_no,
NULL AS To_ord_no,
CASE
WHEN a.From_batch >= a.To_batch THEN a.From_batch
WHEN a.To_batch >= a.From_batch THEN a.To_batch
ELSE a.From_batch
END AS 'Batch',
a.Weight,
'IN' AS 'Direction'
FROM a
JOIN b ON a.Label_barcode = b.Label_barcode
WHERE (a.ins_timestamp Between ? And ?) AND (a.To_batch = ?) AND (a.From_batch = 0) AND (a.Type='Consumption') AND (a.To_status<>'STOCK') AND (b.From_status = 'PORDER')
GROUP BY CONVERT(DATE,a.ins_timestamp),
a.Prod_code,
a.Curr_boxes,
a.Label_barcode,
b.From_ord_no,
a.From_batch,
a.To_batch,
a.Weight,
a.From_status,
a.To_status
union
SELECT CONVERT(DATE,b.ins_timestamp) AS 'Date',
b.Prod_code,
b.Curr_boxes,
b.Label_barcode,
NULL AS From_ord_no,
NULL AS To_ord_no,
CASE
WHEN b.From_batch >= b.To_batch THEN b.From_batch
WHEN b.To_batch >= b.From_batch THEN b.To_batch
ELSE b.From_batch
END AS 'Batch',
b.Weight,
'IN' AS 'Direction'
FROM b
WHERE (b.From_batch = 0) AND (b.Type='Consumption') AND (b.ins_timestamp Between ? And ?) AND (b.To_batch = ?) AND (b.To_status<>'STOCK')
GROUP BY CONVERT(DATE,b.ins_timestamp),
b.Prod_code,
b.Curr_boxes,
b.Label_barcode,
b.From_batch,
b.To_batch,
b.Weight,
b.From_status,
b.To_status
How do i move these two queries into a new table? Please note that I am using a SQL query into an Excel spreadsheet.
I have tried the following... but i keep on getting an error saying 'Invalid Parameter Number' and 'Invalid Descriptor Index'
CREATE TABLE temp_UNION AS
(
SELECT CONVERT(DATE,a.ins_timestamp) AS 'Date',
a.Prod_code,
a.Curr_boxes,
a.Label_barcode,
b.From_ord_no,
NULL AS To_ord_no,
CASE
WHEN a.From_batch >= a.To_batch THEN a.From_batch
WHEN a.To_batch >= a.From_batch THEN a.To_batch
ELSE a.From_batch
END AS 'Batch',
a.Weight,
'IN' AS 'Direction'
FROM a
JOIN b ON a.Label_barcode = b.Label_barcode
WHERE (a.ins_timestamp Between ? And ?) AND (a.To_batch = ?) AND (a.From_batch = 0) AND (a.Type='Consumption') AND (a.To_status<>'STOCK') AND (b.From_status = 'PORDER')
GROUP BY CONVERT(DATE,a.ins_timestamp),
a.Prod_code,
a.Curr_boxes,
a.Label_barcode,
b.From_ord_no,
a.From_batch,
a.To_batch,
a.Weight,
a.From_status,
a.To_status
union
SELECT CONVERT(DATE,b.ins_timestamp) AS 'Date',
b.Prod_code,
b.Curr_boxes,
b.Label_barcode,
NULL AS From_ord_no,
NULL AS To_ord_no,
CASE
WHEN b.From_batch >= b.To_batch THEN b.From_batch
WHEN b.To_batch >= b.From_batch THEN b.To_batch
ELSE b.From_batch
END AS 'Batch',
b.Weight,
'IN' AS 'Direction'
FROM b
WHERE (b.From_batch = 0) AND (b.Type='Consumption') AND (b.ins_timestamp Between ? And ?) AND (b.To_batch = ?) AND (b.To_status<>'STOCK')
GROUP BY CONVERT(DATE,b.ins_timestamp),
b.Prod_code,
b.Curr_boxes,
b.Label_barcode,
b.From_batch,
b.To_batch,
b.Weight,
b.From_status,
b.To_status
)
Any suggestions would be greatly appreciated!
Thanks,
Jordan
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以选择一个选择,实际上很容易在Excel电子表格中完成。
重要的是要注意,要实际创建一个“临时”表,主题标签是命名temp表的关键,即#newtable(如下代码所示)。
在此问题的情况下,实际上需要一个工会。您可以首先将第一个查询选择到#NewTable中,然后在创建后,您可以将第二个查询选择到同一表中。
请参阅下面的代码:
You can do a SELECT INTO instead, which is actually easily done in an Excel spreadsheet.
It's important to note that to actually create a 'temporary' table, the hashtag is key when naming your temp table, i.e. #newtable (as seen in below code).
A union in the case of this problem is actually needed. You can first select your first query into your #newtable and then, after it has been created, you can select your second query into the very same table.
Please see below for the code: