Mysql一张表的多个字段去关联另一张表

Mysql一张表的多个字段去关联另一张表

SELECT
    n.orderid,
    m.last_name,
    q.last_name
FROM
    vtiger_orderitem n
LEFT JOIN vtiger_users m ON n.signatory = m.id
LEFT JOIN vtiger_users q ON n.servicer = q.id
SELECT
vtiger_orderitem.orderid,
    (
        SELECT
            vtiger_users.last_name
        FROM
            vtiger_users
        WHERE
            vtiger_orderitem.signatory = vtiger_users.id
    ) AS signatory,
    (
        SELECT
            vtiger_users.last_name
        FROM
            vtiger_users
        WHERE
            vtiger_orderitem.servicer = vtiger_users.id
    ) AS servicer
FROM
    vtiger_orderitem
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 MySQL 多个数据字段关联抽样对比正确性的 shell 脚本示例: ```bash #!/bin/bash # 数据库信息 database="test_db" host="localhost" user="root" password="password" # 抽样数据量 sample_size=1000 # 1字段值抽样 table1_field="id" table1_sample=$(mysql -h $host -u $user -p$password -D $database -se "SELECT $table1_field FROM table1 ORDER BY RAND() LIMIT $sample_size") # 2字段值抽样 table2_field="table1_id" table2_sample=$(mysql -h $host -u $user -p$password -D $database -se "SELECT $table2_field FROM table2 WHERE $table2_field IN ($table1_sample) ORDER BY RAND() LIMIT $sample_size") # 3字段值抽样 table3_field="table2_id" table3_sample=$(mysql -h $host -u $user -p$password -D $database -se "SELECT $table3_field FROM table3 WHERE $table3_field IN ($table2_sample) ORDER BY RAND() LIMIT $sample_size") # 对比抽样数据 if [ "$table1_sample" == "$table2_sample" ] && [ "$table2_sample" == "$table3_sample" ]; then echo "数据关联正确" exit 0 else echo "数据关联错误" exit 1 fi ``` 这个脚本会先从1中抽取指定字段的数据,然后根据这些数据在2中抽取指定字段的数据,最后根据这些数据在3中抽取指定字段的数据。抽样数据量可以根据需要修改。然后,对比这些抽样数据是否一致。如果抽样数据一致,则输出“数据关联正确”并退出脚本,返回值为 0;否则输出“数据关联错误”并退出脚本,返回值为 1。您需要修改脚本中的数据库信息、名和字段名,以适应您的实际情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值