我必须通过sql查询获取一些数据。
问题是我的一列需要使用其自己行的ID返回然后只有1个元素,所以我想我需要一个只返回1行并具有我的行ID的子请求?
但是我尝试了,但没有任何效果。 NAF
是我的ID:
SELECT
GAMME.GA_NBHR
FROM
GAMME
WHERE
GAMME.GA_DES LIKE 'TOURNAGE EBAUCHE ALU'
AND GAMME.NAF = (SELECT A.NAF FROM AFFAIRE A WHERE A.NAF = NAF)
SELECT
AFFAIRE.NAF
FROM
AFFAIRE
WHERE
AFFAIRE.NAF = (SELECT a.NAF FROM Affaire a WHERE a.NAF = AFFAIRE.NAF)
GAMME.GACLEUNIK = (SELECT G.GACLEUNIK
FROM GAMME G, AFFAIRE A
WHERE A.NAF = AFFAIRE.NAF)
SELECT
GAMME.GA_NBHR
FROM
GAMME, AFFAIRE
WHERE
GAMME.GA_DES LIKE 'TOURNAGE EBAUCHE ALU'
AND GAMME.NAF = AFFAIRE.NAF
AND NAF = (SELECT NAF FROM AFFAIRE A WHERE A.NAF = AFFAIRE.NAF)
ORDER BY
NAF
我想要的是,如果该行的NAF = 1,它将此查询发送到我的单元格中
SELECT GAMME.GA_NBHR
FROM GAMME, AFFAIRE
WHERE GAMME.GA_DES LIKE 'TOURNAGE EBAUCHE ALU'
AND GAMME.NAF = AFFAIRE.NAF
AND AFFAIRE.NAF = 1
如果该行的NAF = 2,则
SELECT GAMME.GA_NBHR
FROM GAMME, AFFAIRE
WHERE GAMME.GA_DES LIKE 'TOURNAGE EBAUCHE ALU'
AND GAMME.NAF = AFFAIRE.NAF
AND AFFAIRE.NAF = 2
等因为我需要在案例中使用它
答案 0 :(得分:0)
很难真正理解您想要什么,但我会给您一些建议:
LIKE '%TOURNAGE EBAUCHE ALU'
否则,请使用“ =” GAMME.NAF= (SELECT A.NAF FROM AFFAIRE A WHERE A.NAF = NAF)
。 FROM GAMME inner/outer join AFFAIRE on GAMME.PK = AFFAIRE.FK
答案 1 :(得分:0)
我知道很难理解我会变得更加清晰。但是对于加入来说,这是因为我正在实习,并且这里的人对此一无所知,所以我不想打扰他们。
那是因为我需要做这样的事情
(CASE
WHEN AFFAIRE.MODELE = 0 THEN 0
WHEN AFFAIRE.MODELE = 1 THEN 1
WHEN AFFAIRE.MODELE = 2 THEN 2
END)
而不是0,我需要获取我在此处显示的代码(我需要在以后使用相同模型更改1和2)
所以我必须选择链接到该行的NAF,例如当NAF等于0时,如果NAF是25,那么我将得到此查询
SELECT GAMME.GA_NBHR FROM GAMME,AFFAIRE WHERE GAMME.GA_DES LIKE 'TOURNAGE EBAUCHE ALU' AND GAMME.NAF = AFFAIRE.NAF AND AFFAIRE.NAF = 25
但是我不需要NAF而是使用数字,就像它更像是一个变量一样