[英]Bring the Options from database table in 2nd Select box based on the value selected in 1st Select Box
[英]How to select data of 2nd table from column values of 1st table in same select statement?
假设我有这个查询:
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
这只是第二张表的INNER JOIN:
SELECT first, last, list_data.operation_code, second_table.operation_text, serial_no
FROM list_data INNER JOIN second_table ON list_data.operation_code = second_table.operation_code
WHERE cid='".$cid."'
在这里,我们加入list_data
到second_table
在operation_code
再向上的SELECT
,我们在新的领域带来的声明部分。 请注意,对于operation_code
因为它存在于查询中的两个表中,所以我们必须指定所需的operation_code
来自list_data
表(由于它是一个INNER JOIN,所以两个都可以使用,但必须指定)。
如果您还希望满足在同一列中返回operation_code和operation_text的要求,则可以将这两者简单地串联起来:
SELECT first, last, CONCAT(list_data.operation_code,' - ', second_table.operation_text) AS operation, serial_no
FROM list_data INNER JOIN second_table ON list_data.operation_code = second_table.operation_code
WHERE cid='".$cid."'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.