tôi sẽ đơn giản hóa kịch bản của tôi - Tôi có những 2 bảng:Làm cách nào để đặt tên cho các ký tự đại diện trong cột MySQL?
table_A - id int, id_table_B_one int, id_table_B_two int, name varchar(30)
table_B - id int, name varchar(30), description varchar(30)
Sau đó, tôi có truy vấn này:
SELECT
table_A.id, table_A.name, table_B_one.*, table_B_two.*
FROM
table_A
LEFT JOIN table_B table_B_one ON table_A.id_table_B_one = table_B.id
LEFT JOIN table_B table_B_two ON table_A.id_table_B_two = table_B.id
Vấn đề của tôi là tôi sẽ nhận được 3 cột với cùng tên (id và Tên). Tôi biết tôi có thể sử dụng từ khóa 'AS' để chỉ định bí danh của một cột. Tuy nhiên, tôi sẽ cần phải chỉ định từng cột được chọn, nhưng tôi phải sử dụng ký tự đại diện '*'.
Có cách nào để đặt tên cột bí danh bằng ký tự đại diện '*' không? Một cái gì đó như thế này:.
... table_B_one * AS table_B_one_ * ...
tại sao bạn cần sử dụng ký tự đại diện? bạn không thể chỉ ra tất cả các cột bạn muốn xem? – SingleNegationElimination
Thay vì '*' hoặc 'bảng. *', Tốt nhất là phải rõ ràng về các cột bạn đang chọn. Liệt kê tất cả chúng trong câu lệnh 'SELECT'. –
TokenMacGuy: Tôi cần, vì truy vấn SQL thực sự được tạo động. Như tôi đã nêu trong câu hỏi của tôi - nó rất đơn giản cho mục đích của câu hỏi này nhưng truy vấn và cách sử dụng của nó trong trường hợp của tôi phức tạp hơn nhiều – Frodik