我正在尝试用SQL做一些事情并且想知道它是否可行。 我有一个看起来像这样的电子表格
Type Qnty description MISCNUMB
A 1 One Is One abc
A 1 One is bla bla ASD
A 2 asdasdsa 23213
B 12 Two One 321
B 1111
C 122312 DRE 321
我可能会在某些列中重复使用值。
当我从表中选择类型时,有没有办法不获取所有重复的值,每个实例只有一个?
我可以使用If- ELIF
来比较表中的列并编写查询吗?
另一件事是,我的数据太大了,以至于我无法通过数据来获取每个数据的case语句。我最终希望能够找到这样的数据。
IF Type = A>显示关于它的数量> (一旦用户选择那些值)>然后显示关于所选qnty的描述>显示misc号码
SELECT
Qnty
FROM
TABLE_1
WHERE
TYPE = 'A'
(I should technically get 1,1,2 right?)
Pseudo code = IF Qnty= '1' FROM TABLE_1
then show only descriptions and MISC numb for those values,
else show rest)
答案 0 :(得分:0)
第二次尝试理解它。
DECLARE @TABLE_1 TABLE (Type NVARCHAR, Qnty INT, Description NVARCHAR(100), MISCNUMB NVARCHAR(100))
DECLARE @UserChoosesOption INT
INSERT INTO @TABLE_1
VALUES
('A',1,'random text', 'aaa')
,('A',1,'random text1', 'aaa1')
,('A',2,'random text2', 'aaa2')
,('B',12,'random text3', 'aaa3')
,('B',1111,'random text4', 'aaa4')
,('C',122312,'random text5', 'aaa5')
SELECT
Qnty
FROM @TABLE_1 WHERE Type = 'B'
SELECT @UserChoosesOption = 12
SELECT
Description,
MISCNUMB
FROM @TABLE_1
WHERE Qnty = @UserChoosesOption