我向你们表示完整的测试用例,大概是从下一次你能为我们提供同样如此,这将是容易让我们重现您的问题。这样我们没有进行反向工程,并建立表和所需数据:
设置
SQL> CREATE TABLE status(ID NUMBER, NAME VARCHAR2(20));
Table created.
SQL> CREATE TABLE students(NAME VARCHAR2(10), status VARCHAR2(20));
Table created.
SQL>
SQL> INSERT INTO status VALUES(0, 'ACTIVE');
1 row created.
SQL> INSERT INTO status VALUES(1, 'INACTIVE');
1 row created.
SQL> INSERT INTO status VALUES(2, 'SUSPEND');
1 row created.
SQL>
SQL> INSERT INTO students VALUES('a', 0);
1 row created.
SQL> INSERT INTO students VALUES('b', 0);
1 row created.
SQL> INSERT INTO students VALUES('c', 0);
1 row created.
SQL> INSERT INTO students VALUES('d', 1);
1 row created.
SQL>
表
SQL> SELECT * FROM status;
ID NAME
---------- --------------------
0 ACTIVE
1 INACTIVE
2 SUSPEND
SQL>
SQL> SELECT * FROM students;
NAME STATUS
---------- --------------------
a 0
b 0
c 0
d 1
SQL>
必要查询:
SQL> SELECT a.NAME,
2 a.status,
3 b.NAME
4 FROM students a
5 JOIN status b
6 ON (a.status = b.ID)
7 WHERE a.status = 0;
NAME STATUS NAME
---------- -------------------- ------
a 0 ACTIVE
b 0 ACTIVE
c 0 ACTIVE
SQL>
请发布create table和insert语句。并显示您所需的输出。 –
@LalitKumarB它创建很久以前,过去的程序员创建它。在Status状态为0的情况下应该有输出激活,激活,激活状态(请参阅我提供的图片) – gsiradze
STUDENT表中是否有另一个状态列?请从两个表中选择*以获取所有列名! – jarlh