我是SQL的新手,想知道是否有人可以指导我如何使用SQL文件的WHERE子句获取特定的数据行。这是我当前的WHERE子句:
CREATE or REPLACE view V_Status1
AS
SELECT
A.C0401_aid, B.C0401_description DESCR,
A.c0432_date DATEREQUIRED, A.C0432_sampl_value_r
FROM vhis_data A, T0401_accounts B
WHERE A.C0401_aid = B.C0401_aid
AND (B.C0401_aid = 5486 OR B.C0401_aid = 5489 OR B.C0401_aid = 5490);
5486,5489和5490代表我需要数据的帐户,但我当前的条款对我想要的内容没有意义。我需要来自所有三个帐户的数据而不仅仅是一个。如果您需要任何澄清,请告诉我。
答案 0 :(得分:2)
您可以使用in
运算符
示例:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);
您的案例将如下:
WHERE A.C0401_aid = B.C0401_aid AND
B.C0401_aid in(5486,5489,5490);
答案 1 :(得分:1)
清除语法,但这应该执行当前查询执行的相同操作。
CREATE or REPLACE view V_GTAAStatus1 AS
SELECT A.C0401_aid,
B.C0401_description DESCR,
A.c0432_date DATEREQUIRED,
A.C0432_sampl_value_r [column_name]
FROM vhis_data A
LEFT JOIN T0401_accounts B on A.C0401_aid = B.C0401_aid
WHERE B.C0401_aid IN (5486,5489,5490);
答案 2 :(得分:1)
您使用的是旧版JOIN
语法。 @TinyOS答案是正确的,这是您在更接受的当前语法中的原始查询:
CREATE or REPLAC view V_GTAAStatus1 AS
SELECT A.C0401_aid, B.C0401_description DESCR,
A.c0432_date DATEREQUIRED, A.C0432_sampl_value_r
FROM vhis_data A
INNER JOIN T0401_accounts B ON A.C0401_aid = B.C0401_aid
WHERE B.C0401_aid IN (5486, 5489, 5490);