Soalan ini membuatkan saya keliru. Saya cuba menggunakan Sertai dan subquery dalam mysql tetapi saya terus mendapat ralat sintaks.
Pernyataan yang dimaksudkan ialah
SELECT Customer.customer_id, Customer.name, Order.address FROM Customer WHERE customer_id = (SELECT customer_id FROM Order WHERE customer_id = "625060836f7496e9fce3bbc6") INNER JOIN Order ON Customer.customer_id=Order.customer_id;
Saya cuba hanya menggunakan pertanyaan tanpa subkueri dan ia berfungsi dengan baik.
SELECT Customer.customer_id, Customer.name, Order.address FROM Customer INNER JOIN Order ON Customer.customer_id=Order.customer_id;
Mengalih keluar gabungan tetapi mengekalkan subkueri juga berfungsi.
SELECT Customer.customer_id, Customer.name, Order.address FROM Customer WHERE customer_id = (SELECT customer_id FROM Order WHERE customer_id = "625060836f7496e9fce3bbc6")
Hanya menggunakan subkueri dan bergabung bersama akan mengakibatkan ralat sintaks
Saya nampaknya tidak dapat mencari kesilapan.
Apa salah saya di sini.
Terima kasih terlebih dahulu
Rahsianya ialah tatabahasa yang betul!
Apabila menanyakan berbilang jadual, sebaiknya gunakan alias untuk merujuknya dan literal rentetan juga harus dipisahkan dengan petikan tunggal dalam kes di mana berbilang jadual berkongsi nama lajur yang sama.
Dalam contoh khusus ini, subkueri ialah berlebihan, cuma gunakan rentetan literal terus dalam klausa where.