J'ai essayé de chercher une réponse à mon problème, mais je n'ai pas réussi à obtenir une réponse qui m'a réellement aidé. J'ai écrit un code SQL mais je n'arrive pas à trouver où est le problème. Est-il possible de mettre une sous-requête dans la section "FROM"?
SELECT S2.ITEM,
S1.SHOP_ORDER,
S1.OPERATION_NO,
S1.START_DATE,
S1.QTY_GOODS,
S1.QTY_ENTERED,
S1.QTY_MRB
FROM (SELECT SHOP_ORD_RPT.OPERATION_NO,
SHOP_ORD_RPT.SHOP_ORDER
FROM FLAME.SHOP_ORD_RPT
WHERE SHOP_ORD_RPT.OPERATION_NO = 110
OR SHOP_ORD_RPT.OPERATION_NO = 370) AS S1
JOIN (SELECT SHOP_ORD.SHOP_ORDER
FROM FLAME.SHOP_ORD
WHERE SHOP_ORD.ITEM = '3A2375'
OR SHOP_ORD.ITEM = '3A2703')AS S2
ON S1.SHOP_ORDER = S2.SHOP_ORDER;
L'erreur que je reçois lors de l'exécution du script est:
Commande SQL pas correctement terminé
J'apprécierais si quelqu'un pouvait aider. Merci beaucoup- Ruth
Essayez de supprimer AS
keywrod après FROM
et JOIN
sous-requête comme ci-dessous
SELECT S2.ITEM, S1.SHOP_ORDER, S1.OPERATION_NO, S1.START_DATE,S1.QTY_GOODS, S1.QTY_ENTERED, S1.QTY_MRB
FROM (
SELECT SHOP_ORD_RPT.OPERATION_NO, SHOP_ORD_RPT.SHOP_ORDER
FROM FLAME.SHOP_ORD_RPT
WHERE SHOP_ORD_RPT.OPERATION_NO =110
OR SHOP_ORD_RPT.OPERATION_NO =370
) S1
JOIN (
SELECT SHOP_ORD.SHOP_ORDER
FROM FLAME.SHOP_ORD
WHERE SHOP_ORD.ITEM ='3A2375'
OR SHOP_ORD.ITEM ='3A2703'
) S2
ON S1.SHOP_ORDER = S2.SHOP_ORDER;
Il est possible de placer une sous-requête dans la clause from. Essaye ça:
SELECT S2.ITEM,
S1.SHOP_ORDER,
S1.OPERATION_NO,
S1.START_DATE,
S1.QTY_GOODS,
S1.QTY_ENTERED,
S1.QTY_MRB
FROM (SELECT SHOP_ORD_RPT.OPERATION_NO,
SHOP_ORD_RPT.SHOP_ORDER
FROM FLAME.SHOP_ORD_RPT
WHERE SHOP_ORD_RPT.OPERATION_NO = 110
OR SHOP_ORD_RPT.OPERATION_NO = 370) S1,
(SELECT SHOP_ORD.SHOP_ORDER
FROM FLAME.SHOP_ORD
WHERE SHOP_ORD.ITEM = '3A2375'
OR SHOP_ORD.ITEM = '3A2703') S2
WHERE S1.SHOP_ORDER = S2.SHOP_ORDER;