比方说,我有这个疑问:如何从同一个select语句中第一个表的列值中选择第二个表的数据?
SELECT first, last, operation_code, serial_no FROM list_data WHERE cid='".$cid."'
而且我们说,查询的结果是这样的:
john, smith, 100, 000000001
john, doe, 200, 000000002
jane, doe, 300, 000000003
我想一些数据从不同的表添加到结果。像这样:
john, smith, 100 - description for 100, 000000001
john, doe, 200 - description for 200, 000000002
jane, doe, 300 - description for 300, 000000003
另一个表有一个operation_code列和一个名为operation_text的描述列。因此,当原始查询通过第一个表获取记录时,是否可以使用operation_code编号从operation_codes表中获取该操作代码的描述?
不知道这是否重要,但它需要适应我使用的这种csv文件创建方法。
$output = fopen('php://output', 'w');
fputcsv($output, array('first', 'last', 'operation_code', 'serial_no'));
$rows = mysql_query("SELECT first, last, operation_code, serial_no FROM list_data WHERE cid='".$cid."' ORDER BY last ASC, first ASC");
while ($row = mysql_fetch_assoc($rows)) fputcsv($output, $row);
所以当csv文件被创建时,我希望代码号和说明在同一列中。在代码和说明之间没有多余的逗号,除非没有其他办法那么它的罚款,如果说明是在它自己的列像这样:
Header line of csv:
first, last, operation_code, operation_text, serial_no
body of csv:
john, smith, 100, description for 100, 000000001
john, doe, 200, description for 200, 000000002
jane, doe, 300, description for 300, 000000003
你会想'JOIN'其他表on ON operation_code',然后你将可以访问另一个表的列,并可以将你的描述列添加到选定列的列表中。 –