2012-11-25 37 views
26

Các truy vấn sau đây hoạt động tốt với MySQL:concat một chuỗi SELECT * MySql

SELECT concat(title,'/') FROM `socials` WHERE 1 

Nó concat / đến lĩnh vực tiêu đề lựa chọn.

Tuy nhiên, khi tôi cố gắng làm như sau:

SELECT concat(*,'/') FROM `socials` WHERE 1 

Nó trả về lỗi follwoing:

#1064 - You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right syntax to use near '*,'/') FROM `socials` WHERE 1 LIMIT 0, 30' at line 1 

Vậy có cách nào để làm cho truy vấn sql như vậy để làm việc với MySql

+0

Không, điều đó không thể thực hiện được khi chọn đồng bằng. Bạn có thể sử dụng thủ tục lưu sẵn không? – rene

+1

Không sử dụng thủ tục lưu trữ không phải là một lựa chọn cho tôi. – SaidbakR

Trả lời

34

Bạn chỉ đơn giản là không thể làm điều đó trong SQL. Bạn phải liệt kê rõ ràng các trường và concat mỗi trường:

SELECT CONCAT(field1, '/'), CONCAT(field2, '/'), ... FROM `socials` WHERE 1 

Nếu bạn đang sử dụng ứng dụng, bạn có thể sử dụng SQL để đọc tên cột, sau đó sử dụng ứng dụng để tạo truy vấn như trên. Xem câu hỏi ngăn xếp này để tìm tên cột: Get table column names in mysql?

+0

Cảm ơn tất cả các bạn, nhưng khía cạnh phân biệt nhất của câu trả lời này để có được nó là chính xác, được hiển thị như thế nào để đạt được lựa chọn nhiều lĩnh vực. – SaidbakR

+1

@ sємsєм, bạn làm điều đó bằng cách liệt kê chúng bằng tay (hoặc, nếu bạn đang sử dụng một ứng dụng, bạn có thể sử dụng SQL để đọc các cột, và sau đó sử dụng ứng dụng của bạn để xây dựng một truy vấn như trên). –

2

Bạn không thể nối nhiều trường bằng chuỗi. Bạn cần chọn một bản sao trường của tất cả (*).

1

Bạn không thể thực hiện việc này trên nhiều trường. Bạn cũng có thể tìm kiếm this.

20

Nếu bạn muốn nối các lĩnh vực sử dụng/như thiết bị tách, bạn có thể sử dụng concat_ws:

select concat_ws('/', col1, col2, col3) from mytable 

Bạn không thể thoát khỏi danh sách các cột trong truy vấn mặc dù. * -syntax chỉ hoạt động trong "select * from". Bạn có thể liệt kê các cột và xây dựng truy vấn động mặc dù.

Các vấn đề liên quan