mysql 假如 A表a1字段 和 B表b1字段 和 C表c1字段 可以互相关联,查询A表a2字段 数量大于0 and B表b1字段 不在 A表a1字段里面 and B表 b1字段就一条记录的
时间: 2024-05-27 10:11:14 浏览: 71
SELECT A.a2
FROM A
INNER JOIN B ON A.a1 = B.b1
LEFT JOIN C ON B.b1 = C.c1
WHERE A.a2 > 0 AND B.b1 NOT IN (SELECT a1 FROM A)
GROUP BY A.a2
HAVING COUNT(B.b1) = 1
相关问题
用php和mysql写一个驾照信息录入和查询网站
好的,以下是一个简单的驾照信息录入和查询网站的PHP和MySQL代码示例。
1. 创建数据库和表
首先,我们需要创建一个名为“driving_license”的数据库,并在其中创建一个名为“licenses”的表,用于存储驾照信息。该表应包含以下字段:
- id (自增ID)
- name (姓名)
- id_number (身份证号)
- license_number (驾照号码)
- license_type (驾照类型)
- issue_date (领证日期)
- expire_date (到期日期)
可以使用以下SQL语句创建表:
```sql
CREATE TABLE licenses (
id INT(11) unsigned NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
id_number VARCHAR(18) NOT NULL,
license_number VARCHAR(18) NOT NULL,
license_type VARCHAR(10) NOT NULL,
issue_date DATE NOT NULL,
expire_date DATE NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
2. 创建录入页面
创建一个名为“insert.php”的文件,用于处理录入驾照信息的表单提交。该页面将包含一个HTML表单,其中包含输入驾照信息的字段。在提交表单时,将使用PHP将数据插入到MySQL数据库中。
```php
<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "driving_license");
if (!$conn) {
die("连接数据库失败: " . mysqli_connect_error());
}
// 处理表单提交
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// 获取表单数据
$name = $_POST["name"];
$id_number = $_POST["id_number"];
$license_number = $_POST["license_number"];
$license_type = $_POST["license_type"];
$issue_date = $_POST["issue_date"];
$expire_date = $_POST["expire_date"];
// 插入数据到数据库
$sql = "INSERT INTO licenses (name, id_number, license_number, license_type, issue_date, expire_date)
VALUES ('$name', '$id_number', '$license_number', '$license_type', '$issue_date', '$expire_date')";
if (mysqli_query($conn, $sql)) {
echo "驾照信息录入成功";
} else {
echo "录入失败: " . mysqli_error($conn);
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>驾照信息录入</title>
</head>
<body>
<h1>驾照信息录入</h1>
<form method="post">
<label>姓名:</label>
<input type="text" name="name" required><br>
<label>身份证号:</label>
<input type="text" name="id_number" required><br>
<label>驾照号码:</label>
<input type="text" name="license_number" required><br>
<label>驾照类型:</label>
<select name="license_type">
<option value="A1">A1</option>
<option value="A2">A2</option>
<option value="A3">A3</option>
<option value="B1">B1</option>
<option value="B2">B2</option>
<option value="C1">C1</option>
<option value="C2">C2</option>
</select><br>
<label>领证日期:</label>
<input type="date" name="issue_date" required><br>
<label>到期日期:</label>
<input type="date" name="expire_date" required><br>
<input type="submit" value="提交">
</form>
</body>
</html>
```
3. 创建查询页面
创建一个名为“search.php”的文件,用于处理查询驾照信息的表单提交。该页面将包含一个HTML表单,其中包含输入查询条件的字段。在提交表单时,将使用PHP从MySQL数据库中检索符合条件的驾照信息,并显示在页面上。
```php
<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "driving_license");
if (!$conn) {
die("连接数据库失败: " . mysqli_connect_error());
}
// 处理表单提交
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// 获取查询条件
$name = $_POST["name"];
$id_number = $_POST["id_number"];
$license_number = $_POST["license_number"];
// 构建SQL查询语句
$sql = "SELECT * FROM licenses WHERE 1=1";
if ($name) {
$sql .= " AND name LIKE '%$name%'";
}
if ($id_number) {
$sql .= " AND id_number='$id_number'";
}
if ($license_number) {
$sql .= " AND license_number='$license_number'";
}
// 执行查询
$result = mysqli_query($conn, $sql);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>驾照信息查询</title>
</head>
<body>
<h1>驾照信息查询</h1>
<form method="post">
<label>姓名:</label>
<input type="text" name="name"><br>
<label>身份证号:</label>
<input type="text" name="id_number"><br>
<label>驾照号码:</label>
<input type="text" name="license_number"><br>
<input type="submit" value="查询">
</form>
<?php if ($_SERVER["REQUEST_METHOD"] == "POST"): ?>
<h2>查询结果</h2>
<table>
<tr>
<th>姓名</th>
<th>身份证号</th>
<th>驾照号码</th>
<th>驾照类型</th>
<th>领证日期</th>
<th>到期日期</th>
</tr>
<?php while ($row = mysqli_fetch_assoc($result)): ?>
<tr>
<td><?php echo $row["name"]; ?></td>
<td><?php echo $row["id_number"]; ?></td>
<td><?php echo $row["license_number"]; ?></td>
<td><?php echo $row["license_type"]; ?></td>
<td><?php echo $row["issue_date"]; ?></td>
<td><?php echo $row["expire_date"]; ?></td>
</tr>
<?php endwhile; ?>
</table>
<?php endif; ?>
</body>
</html>
```
4. 运行应用
将上述代码保存为“insert.php”和“search.php”文件,并将它们放在您的Web服务器上运行的目录中。然后,您就可以使用浏览器访问这些页面,并使用它们录入和查询驾照信息了。
阅读全文