Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggunakan Alias ​​dengan betul dalam Klausa WHERE PostgreSQL?

Bagaimanakah Saya Boleh Menggunakan Alias ​​dengan betul dalam Klausa WHERE PostgreSQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-28 06:10:10586semak imbas

How Can I Correctly Use Aliases in PostgreSQL's WHERE Clause?

Merujuk Alias ​​dalam Klausa WHERE dalam Postgres

Dalam PostgreSQL, merujuk kepada alias dalam klausa WHERE boleh membawa kepada ralat seperti "lajur tidak wujud." Ini berlaku kerana klausa WHERE dilaksanakan sebelum alias ditakrifkan dalam klausa SELECT.

Mengapa Ia Tidak Mungkin

Dalam SQL, klausa dilaksanakan dalam susunan tertentu: WHERE , DARI, KUMPULAN OLEH, MEMPUNYAI, PILIH, PESANAN OLEH. Ini bermakna apabila Postgres menemui klausa WHERE, ia belum mengetahui tentang sebarang alias yang telah anda takrifkan dalam klausa SELECT.

Penyelesaian

Untuk menyelesaikan isu ini, anda mesti menulis semula pertanyaan anda untuk mengelak daripada menggunakan alias dalam klausa WHERE. Sebaliknya, nyatakan secara langsung ungkapan yang hendak dibandingkan. Sebagai contoh, pertanyaan berikut memilih baris dengan betul di mana aksara kedua hingga keenam lajur "pk", yang dihantar sebagai integer, adalah lebih besar daripada 90:

SELECT
    SUBSTRING(pk, 6, 2)::INT AS _year
FROM
    listing
WHERE
    SUBSTRING(pk, 6, 2)::INT > 90

Nota: Ini pengehadan hanya digunakan pada alias yang ditakrifkan dalam klausa SELECT. Alias ​​yang ditakrifkan dalam klausa lain, seperti FROM atau JOIN, boleh digunakan dalam klausa seterusnya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Alias ​​dengan betul dalam Klausa WHERE PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn