我以前問過這個問題,但我沒有得到任何幫助。 我想獲得給定屬性的兩個不同表中的行數。 這是我的代碼。 相反抓取,此時的條件成立的總計數,我收到表PLSQL ORACLE COUNT
create or replace PROCEDURE p1(suburb IN varchar2)
as
person_count NUMBER;
property_count NUMBER;
BEGIN
SELECT count(*) INTO person_count
FROM person p WHERE p.suburb = suburb ;
SELECT count(*) INTO property_count
FROM property pp WHERE pp.suburb = suburb ;
dbms_output.put_line('Number of People :'|| person_count);
dbms_output.put_line('Number of property :'|| property_count);
END;
/
整個計數是否有任何其他方式做到這一點,這樣我可以在郊區檢索人民的真正總數
從Person表
PEID FIRSTNAME LASTNAME
---------- -------------------- --------------------
STREET SUBURB POST TELEPHONE
---------------------------------------- -------------------- ---- ------------
30 Robert Williams
1/326 Coogee Bay Rd. Coogee 2034 9665-0211
32 Lily Roy
66 Alison Rd. Randwick 2031 9398-0605
34 Jack Hilfgott
17 Flood St. Bondi 2026 9387-0573
從屬性表中的一些數據有些DATAS
PNO STREET SUBURB POST
---------- ---------------------------------------- -------------------- ----
FIRST_LIS TYPE PEID
--------- -------------------- ----------
48 66 Alison Rd. Randwick 2031
12-MAR-11 Commercial 8
49 1420 Arden St. Clovelly 2031
27-JUN-10 Commercial 82
50 340 Beach St. Clovelly 2031
05-MAY-11 Commercial 38
對不起,表正在尋找。
這是我運行上述腳本時獲得的值。
SQL> exec p1('Randwick')
Number of People :50
Number of property :33
我改變了PROCEDURE,這就是我得到的。
SQL> create or replace PROCEDURE p1(location varchar2)
IS
person_count NUMBER;
property_count NUMBER;
BEGIN
SELECT count(p.peid) INTO person_count
FROM person p WHERE p.suburb = location ;
SELECT count(pp.pno) INTO property_count
FROM property pp WHERE pp.suburb = location ;
dbms_output.put_line('Number of People :'|| person_count);
dbms_output.put_line('Number of property :'|| property_count);
END;
/
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Procedure created.
SQL> exec p1('KINGSFORD')
Number of People :0
Number of property :0
PL/SQL procedure successfully completed.
SQL>
SQL>
SQL> exec p1('Randwick')
Number of People :0
Number of property :0
PL/SQL procedure successfully completed.
SQL>
假設是這個
SQL> exec p1('randwick');
Number of People: 7
Number of Property: 2
請顯示2表中的一些數據和參數'郊區的值 – Yahia
您最後兩個示例不同。倒數第二位表示您提供'Randwick',最後一位提示您提供'randwick'(用小寫「r」)。你的問題可能與你如何存儲你的郊區價值以及你的參數是如何傳遞給它有關。您必須將其標準化以確保匹配成功。 – Ollie