【问题标题】:Retrieving data from multiple tables with condition使用条件从多个表中检索数据
【发布时间】:2012-11-09 07:25:34
【问题描述】:

我有两张桌子:

  1. 债务人

    • debtorid
    • name
    • inactive
  2. rfnwagon

    • rfnwagonid
    • dumpid
    • customerid
    • allocationdate

debtorid 有 2 个值 21 和 22:

  • 21 表示客户
  • 22 表示转储

我想显示整个 rfnwagon 行,但我不想使用 dumpid=21customer_id=22 ,而是想使用表 debtor 中的名称。我试过了,但失败了:

SELECT 
    rfnwag.rfn_wagon_id,
    debtor.name,
    debtor.name,
    rfnwag.no_of_wagons,
    rfnwag.order_id,
    rfnwag.product_id,
    rfnwag.destination,
    rfnwag.allocation_date      
FROM rfn_wagon_allocation as rfnwag,
        debtors_master as debtor
WHERE rfnwag.customer_id=debtor.debtor_no AND rfnwag.dump_id=debtor.debtor_no"

【问题讨论】:

  • 在债务人表中,我们在名称列中有转储和客户名称

标签: mysql sql join


【解决方案1】:

我很难完全理解您的要求,但我在这里看不到任何JOIN,当您使用多个表时需要它。看看这个例子,也许就是你需要的:http://www.w3schools.com/sql/sql_join_left.asp

【讨论】:

  • 有一个连接,它只是不使用 SQL-92 语法。
【解决方案2】:

我认为这永远不会是真的:

debtor.debtor_no=debtor.name 

所以从你的 WHERE 子句中删除它。

“没有成功”到底是什么意思?没有行?行太多?行不正确?

【讨论】:

  • 是的,改变了......即使没有工作......请参阅我在问题中编辑的查询
  • 问题中的查询没有改变,您仍然没有描述'不工作'
  • OK 我看到查询现在已更改。您现在的查询意味着 rfnwag 表中的 customer_id 和 dump_id 必须具有相同的值,这是没有意义的。你能描述一下“不工作”吗?
  • thanQ all for响应....上面的查询没有达到我的要求...在代码和数据库中修改...我现在明白了
  • 对于所有可能在互联网上搜索此问题的答案的人,很高兴发布您的答案。
猜你喜欢
  • 1970-01-01
  • 2016-12-29
  • 2017-03-23
  • 1970-01-01
  • 2019-04-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多