У меня есть данные для заявок на покупку, которые находятся в одной строке. Чтобы импортировать их в нашу финансовую систему и создать ПО, я выбираю данные для каждой позиции с объединением. Я создал представление, и он отлично работает. Вчера у меня был тот, который не вытягивал все позиции для одного ПО. При исследовании я взял код для первых 5 позиций, так как это количество элементов этого запроса и запускало код. Он не тянул все. Поэтому я добавил статическое число для каждой позиции, чтобы я мог видеть, что он не тянет, и все появилось. из-за длины я не могу опубликовать все, но это работает
SELECT '5' AS lineitem,'f'.'DWDOCID' AS 'a'
, DATE_FORMAT(CURDATE(), '%m/%d/%y') AS 'B'
, 'f'.'FIELD_9' AS 'C'
, 'f'.'VENDORCODE' AS 'd'
, 'f'.'EMPLOYEENUMBER' AS 'e'
, 'f'.'REMARKS' AS 'f'
, (CASE
WHEN ('f'.'SHIPTO' = 'Broad Street Norwich') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'DCMO Boces') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Cherry Street') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Carlisle') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Saratoga') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Wilson Elementary School') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Horrace Mann Elementary') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Fayette Street') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Newark Valley') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Owego') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Waverly') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Charles F. Johnson') THEN 'Family Enrichment Network'
END) AS 'shiptoname'
, (CASE
WHEN ('f'.'SHIPTO' = 'Broad Street Norwich') THEN '21 South Broad Street'
WHEN ('f'.'SHIPTO' = 'DCMO Boces') THEN '6678 County Rd 32'
WHEN ('f'.'SHIPTO' = 'Cherry Street') THEN '24 Cherry Street'
WHEN ('f'.'SHIPTO' = 'Carlisle') THEN '150 Moeller St.'
WHEN ('f'.'SHIPTO' = 'Saratoga') THEN '35 Felters Rd.'
WHEN ('f'.'SHIPTO' = 'Wilson Elementary School') THEN '287 Prospect St.'
WHEN ('f'.'SHIPTO' = 'Horrace Mann Elementary') THEN '30 College St.'
WHEN ('f'.'SHIPTO' = 'Fayette Street') THEN '29 Fayette St.'
WHEN ('f'.'SHIPTO' = 'Newark Valley') THEN '117 Whig St.'
WHEN ('f'.'SHIPTO' = 'Owego') THEN '1277 Taylor Rd.'
WHEN ('f'.'SHIPTO' = 'Waverly') THEN '12 Cooper St.'
WHEN ('f'.'SHIPTO' = 'Charles F. Johnson') THEN '1201 Union Center Maine Highway'
END) AS 'address'
, (CASE
WHEN ('f'.'SHIPTO' = 'Broad Street Norwich') THEN ''
WHEN ('f'.'SHIPTO' = 'DCMO Boces') THEN ''
WHEN ('f'.'SHIPTO' = 'Cherry Street') THEN 'PO Box 997'
WHEN ('f'.'SHIPTO' = 'Carlisle') THEN ''
WHEN ('f'.'SHIPTO' = 'Saratoga') THEN 'Building 16'
WHEN ('f'.'SHIPTO' = 'Wilson Elementary School') THEN ''
WHEN ('f'.'SHIPTO' = 'Horrace Mann Elementary') THEN ''
WHEN ('f'.'SHIPTO' = 'Fayette Street') THEN ''
WHEN ('f'.'SHIPTO' = 'Newark Valley') THEN ''
WHEN ('f'.'SHIPTO' = 'Owego') THEN ''
WHEN ('f'.'SHIPTO' = 'Waverly') THEN ''
WHEN ('f'.'SHIPTO' = 'Charles F. Johnson') THEN 'Linnaeus West Elementary School, Classroom 15'
END) AS 'address2'
, (CASE
WHEN ('f'.'SHIPTO' = 'Broad Street Norwich') THEN 'Norwich, NY 13815'
WHEN ('f'.'SHIPTO' = 'DCMO Boces') THEN 'Norwich, NY 13815'
WHEN ('f'.'SHIPTO' = 'Cherry Street') THEN 'Johnson City, NY 13790-0997'
WHEN ('f'.'SHIPTO' = 'Carlisle') THEN 'Binghamton, NY 13904'
WHEN ('f'.'SHIPTO' = 'Saratoga') THEN 'Binghamton, NY 13903'
WHEN ('f'.'SHIPTO' = 'Wilson Elementary School') THEN 'Binghamton, NY 13905'
WHEN ('f'.'SHIPTO' = 'Horrace Mann Elementary') THEN 'Binghamton, NY 13905'
WHEN ('f'.'SHIPTO' = 'Fayette Street') THEN 'Binghamton, NY 13901'
WHEN ('f'.'SHIPTO' = 'Newark Valley') THEN 'Newark Valley, NY 13811'
WHEN ('f'.'SHIPTO' = 'Owego') THEN 'Owego, NY 13827'
WHEN ('f'.'SHIPTO' = 'Waverly') THEN 'Waverly, NY 14892'
WHEN ('f'.'SHIPTO' = 'Charles F. Johnson') THEN 'Endicott, NY 13760'
END) AS 'citystatezip'
, 'Best Way' AS 'BestWay'
, DATE_FORMAT('f'.'DATENEEDED', '%m/%d/%y') AS 'date_format(f.DATENEEDED,'%m/%d/%y')'
, ('f'.'Q5' * 0.01) AS 'q5'
, 'f'.'DES5' AS 'DES5'
, ('f'.'UPRICE5' / 100) AS 'f.UPRICE5/100'
, '0' AS '0'
, 0 AS 'f.shipping/100'
, 'f'.'DWDOCID' AS 'DWDOCID'
, '0' AS 'My_exp_1_0'
, '0' AS 'My_exp_2_0'
, '0' AS 'My_exp_3_0'
, 'f'.'GLCODE5' AS 'GLCODE'
, 'f'.'ELEMENT5' AS 'ELEMENT'
, (('f'.'UPRICE5' / 100) * ('f'.'Q5' * 0.01)) AS 'amount'
, 'm:\\nbush.jpg' AS 'Y'
, DATE_FORMAT('f'.'APPROVALDATE', '%m/%d/%y') AS 'Approvaldate'
, 'm:\\blank.jpg' AS 'AA'
, REPLACE(LEFT('f'.'VENDOR', 20), '#N/A', '') AS 'replace(left(''f''.''vendor'',20),'#N/A','')'
FROM 'dwdata'.'purchase_orders' 'f'
WHERE (('f'.'DOCUMENT_TYPE' = 'REQUISITION FOR PURCHASE ORDER')
AND ('f'.'FIELD_9' = 'Executive Director Approved')
AND ('f'.'EXECUTIVEDIRECTORAPPROVED' = 'Approved')
AND ('f'.'FISCALOFFICERAPPROVED' = 'Approved')
AND ('f'.'PROGRAMDIRECTORAPPROVED' = 'Approved')
AND ('f'.'Q5' IS NOT NULL))
Это не
SELECT 'f'.'DWDOCID' AS 'a'
, DATE_FORMAT(CURDATE(), '%m/%d/%y') AS 'B'
, 'f'.'FIELD_9' AS 'C'
, 'f'.'VENDORCODE' AS 'd'
, 'f'.'EMPLOYEENUMBER' AS 'e'
, 'f'.'REMARKS' AS 'f'
, (CASE
WHEN ('f'.'SHIPTO' = 'Broad Street Norwich') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'DCMO Boces') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Cherry Street') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Carlisle') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Saratoga') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Wilson Elementary School') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Horrace Mann Elementary') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Fayette Street') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Newark Valley') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Owego') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Waverly') THEN 'Family Enrichment Network'
WHEN ('f'.'SHIPTO' = 'Charles F. Johnson') THEN 'Family Enrichment Network'
END) AS 'shiptoname'
, (CASE
WHEN ('f'.'SHIPTO' = 'Broad Street Norwich') THEN '21 South Broad Street'
WHEN ('f'.'SHIPTO' = 'DCMO Boces') THEN '6678 County Rd 32'
WHEN ('f'.'SHIPTO' = 'Cherry Street') THEN '24 Cherry Street'
WHEN ('f'.'SHIPTO' = 'Carlisle') THEN '150 Moeller St.'
WHEN ('f'.'SHIPTO' = 'Saratoga') THEN '35 Felters Rd.'
WHEN ('f'.'SHIPTO' = 'Wilson Elementary School') THEN '287 Prospect St.'
WHEN ('f'.'SHIPTO' = 'Horrace Mann Elementary') THEN '30 College St.'
WHEN ('f'.'SHIPTO' = 'Fayette Street') THEN '29 Fayette St.'
WHEN ('f'.'SHIPTO' = 'Newark Valley') THEN '117 Whig St.'
WHEN ('f'.'SHIPTO' = 'Owego') THEN '1277 Taylor Rd.'
WHEN ('f'.'SHIPTO' = 'Waverly') THEN '12 Cooper St.'
WHEN ('f'.'SHIPTO' = 'Charles F. Johnson') THEN '1201 Union Center Maine Highway'
END) AS 'address'
, (CASE
WHEN ('f'.'SHIPTO' = 'Broad Street Norwich') THEN ''
WHEN ('f'.'SHIPTO' = 'DCMO Boces') THEN ''
WHEN ('f'.'SHIPTO' = 'Cherry Street') THEN 'PO Box 997'
WHEN ('f'.'SHIPTO' = 'Carlisle') THEN ''
WHEN ('f'.'SHIPTO' = 'Saratoga') THEN 'Building 16'
WHEN ('f'.'SHIPTO' = 'Wilson Elementary School') THEN ''
WHEN ('f'.'SHIPTO' = 'Horrace Mann Elementary') THEN ''
WHEN ('f'.'SHIPTO' = 'Fayette Street') THEN ''
WHEN ('f'.'SHIPTO' = 'Newark Valley') THEN ''
WHEN ('f'.'SHIPTO' = 'Owego') THEN ''
WHEN ('f'.'SHIPTO' = 'Waverly') THEN ''
WHEN ('f'.'SHIPTO' = 'Charles F. Johnson') THEN 'Linnaeus West Elementary School, Classroom 15'
END) AS 'address2'
, (CASE
WHEN ('f'.'SHIPTO' = 'Broad Street Norwich') THEN 'Norwich, NY 13815'
WHEN ('f'.'SHIPTO' = 'DCMO Boces') THEN 'Norwich, NY 13815'
WHEN ('f'.'SHIPTO' = 'Cherry Street') THEN 'Johnson City, NY 13790-0997'
WHEN ('f'.'SHIPTO' = 'Carlisle') THEN 'Binghamton, NY 13904'
WHEN ('f'.'SHIPTO' = 'Saratoga') THEN 'Binghamton, NY 13903'
WHEN ('f'.'SHIPTO' = 'Wilson Elementary School') THEN 'Binghamton, NY 13905'
WHEN ('f'.'SHIPTO' = 'Horrace Mann Elementary') THEN 'Binghamton, NY 13905'
WHEN ('f'.'SHIPTO' = 'Fayette Street') THEN 'Binghamton, NY 13901'
WHEN ('f'.'SHIPTO' = 'Newark Valley') THEN 'Newark Valley, NY 13811'
WHEN ('f'.'SHIPTO' = 'Owego') THEN 'Owego, NY 13827'
WHEN ('f'.'SHIPTO' = 'Waverly') THEN 'Waverly, NY 14892'
WHEN ('f'.'SHIPTO' = 'Charles F. Johnson') THEN 'Endicott, NY 13760'
END) AS 'citystatezip'
, 'Best Way' AS 'BestWay'
, DATE_FORMAT('f'.'DATENEEDED', '%m/%d/%y') AS 'date_format(f.DATENEEDED,'%m/%d/%y')'
, ('f'.'Q5' * 0.01) AS 'q5'
, 'f'.'DES5' AS 'DES5'
, ('f'.'UPRICE5' / 100) AS 'f.UPRICE5/100'
, '0' AS '0'
, 0 AS 'f.shipping/100'
, 'f'.'DWDOCID' AS 'DWDOCID'
, '0' AS 'My_exp_1_0'
, '0' AS 'My_exp_2_0'
, '0' AS 'My_exp_3_0'
, 'f'.'GLCODE5' AS 'GLCODE'
, 'f'.'ELEMENT5' AS 'ELEMENT'
, (('f'.'UPRICE5' / 100) * ('f'.'Q5' * 0.01)) AS 'amount'
, 'm:\\nbush.jpg' AS 'Y'
, DATE_FORMAT('f'.'APPROVALDATE', '%m/%d/%y') AS 'Approvaldate'
, 'm:\\blank.jpg' AS 'AA'
, REPLACE(LEFT('f'.'VENDOR', 20), '#N/A', '') AS 'replace(left(''f''.''vendor'',20),'#N/A','')'
FROM 'dwdata'.'purchase_orders' 'f'
WHERE (('f'.'DOCUMENT_TYPE' = 'REQUISITION FOR PURCHASE ORDER')
AND ('f'.'FIELD_9' = 'Executive Director Approved')
AND ('f'.'EXECUTIVEDIRECTORAPPROVED' = 'Approved')
AND ('f'.'FISCALOFFICERAPPROVED' = 'Approved')
AND ('f'.'PROGRAMDIRECTORAPPROVED' = 'Approved')
AND ('f'.'Q5' IS NOT NULL))
Любая идея, почему бы и нет? Это точно такой же код, кроме позиции.
Я понял. Я не понимал, что профсоюз не будет получать дубликаты записей. Если человек, заполняющий ПО, сделал то, что сделал бы любой нормальный человек, и просто сказал, что количество 2 для одной позиции и количество 3 для другой позиции вместо 5 позиций с количеством 1, когда было только 2 уникальных предметов, это не было бы проблемой.