$sql = 'SELECT *
FROM table_all ta
INNER JOIN table11 ta11
ON ta11.column1 = ta.column1
INNER JOIN table12 ta12
ON ta12.column2 = ta.column2
INNER JOIN table13 ta13
ON ta13.column3 = ta.column3';
这是我当前正在处理的 PHP 程序的 sql 语句。实际上效果很好,但我对这个声明的结果不满意。如果有就太好了
- 仅table_all的内容,然后
- 仅其他三个表格的三列(table11、table12、table13)。
星号在这方面造成了一些问题。
- table_all 的长度未知。它能够改变大小。
我尝试了联合和多重选择,但只收到错误。遇到这样的问题该如何处理?
最佳答案
您可以尝试指定您想要获取哪些列。
如您所见,星号返回所有列。
你应该使用类似的东西:
$sql = 'SELECT ta11.column1, taa12.column2, ta13.column13
FROM table_all ta
INNER JOIN table11 ta11
ON ta11.column1 = ta.column1
INNER JOIN table12 ta12
ON ta12.column2 = ta.column2
INNER JOIN table13 ta13
ON ta13.column3 = ta.column3';
我认为获取 ta11.column1
、taa12.column2
、ta13.column13
没有意义,因为这些字段已经在table_all(您在连接中使用这些列)。但您可以通过这种方式选择任何您想要的列。
关于php - MySQL:多个表(一次所有列,三次仅单个列),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28853726/