【问题标题】:How to retrieve values from mysql database from 3 tables?如何从 3 个表中检索 mysql 数据库中的值?
【发布时间】:2013-01-09 18:18:28
【问题描述】:

用户表:

userID | name
1      | John
2      | Mary
3      | Jack

items 表(用户将选择并存储到 mysql 中

itemID | name   | item 
1      | Mary   | pants, jeans
1      | John   | jacket, shirt
1      | Jack   | jacket, shirt

描述表(根据用户选择的项目检索描述)

descID | item          | descOne | descTwo
1      | jacket, shirt | Nice!   | Great   
1      | pants, jeans  | good    | Nice    
1      | dress, jeans  | Nice!   | Great   

如果我想检索 Mary 的值,我的 select sql 语句应该是什么?

目前我有这个 ->

SELECT 
    d.item, 
    d.descOne, 
    d.descTwo, 
    i.name , d.item
FROM description d 
INNER JOIN items i 
WHERE d.item = i.item ON;

【问题讨论】:

  • 如果你定义外键而不是项目和用户名作为外键会很好

标签: mysql database select


【解决方案1】:
SELECT 
    u.name,
    d.descOne, 
    d.descTwo, 
    d.item
FROM users as u
LEFT JOIN items as i ON i.name = u.name
LEFT JOIN description as d ON d.item = i.item
WHERE u.name = 'Mary'

【讨论】:

  • 但我不能在那里硬编码“玛丽”。必须根据登录例如 fb 的用户来检索。
  • 我知道你不能硬编码,但你可以提供变量保持登录用户名,你可以传递这个查询来运行
猜你喜欢
  • 1970-01-01
  • 2015-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-28
  • 1970-01-01
  • 1970-01-01
  • 2017-04-12
相关资源
最近更新 更多