【问题标题】:How to have multiple AND condition in sql statement?如何在sql语句中有多个AND条件?
【发布时间】:2017-04-14 05:51:11
【问题描述】:

我有查询将选择表格列

"Select tbl_products.item_category,
 tbl_products.images, 
 tbl_products.item_name,
 user_custom.mother_applicable,
 compatibility.motherboard,
 compatibility.form_factor

表格及其列和数据

tbl_products

item_category,     item_name,       images,
Motherboard        Asus_board      'BLOB data here'
CPU                Intel_pentium   'BLOB data here'

兼容性表中,Motherboarditem_name 也是tbl_productsMotherboardname

兼容性

motherboard,   form_factor,
Asus_board     ATX Motherboard
Asus_board     Micro ATX Motherboard

用户自定义

mother_applicable,
ATX Motherboard

代码的延续

FROM tbl_products, user_custom, compatibility

指定要从哪里获取列,

这个东西如何工作的解释 现在,WHERE 条件必须比较 if `compatibility.form_factor = 'ATX Motherboard' 只有那些在兼容性中是 ATX 的 Motherboard 名称将被输出,并且将等于 tbl_products 中的相同名称

如果您不理解,请投票 -1 抱歉,伙计们,我只是想不通。 我仍在构建此系统http://g-ramcomputerhauz.com 注册并登录并开始自定义电脑以了解我的意思,如果您选择 Micro ATX 机箱,则选择主板的下一步应该是空的,因为还没有添加主板可以安装到机箱的Micro ATX..如果您选择可以安装ATX主板的机箱,那么所有主板的输出都是ATX in form_factor..谢谢!

【问题讨论】:

  • 输出应该是什么?请提供预期输出的样本。
  • 您的加入声明在哪里?您不能只在 from 中列出表格(从技术上讲,您可以,但这不是您想要的),您必须指定它们之间的关系。另外,你的桌子设计很差。您不应该在文本字段上关联记录,而是在整数键上关联记录。
  • 您的预期输出是什么?填充下一个选择的产品?
  • 我在想这个问题是否可以用更混乱的方式表达。

标签: mysql


【解决方案1】:
Select tbl_products.item_category,
tbl_products.images, 
tbl_products.item_name,
user_custom.mother_applicable,
compatibility.motherboard,
compatibility.form_factor
FROM tbl_products, user_custom, compatibility
WHERE compatibility.form_factor = 'ATX Motherboard'
AND tbl_products.item_name = compatibility.motherboard

如果您使用联接,我相信会有更好的答案。

【讨论】:

    【解决方案2】:

    您需要先连接这些表并在 where 子句中给出条件

    Select t.item_category,t.item_name, u.mother_applicable,c.motherboard,
     c.form_factor  FROM tbl_products t join compatibility c on (t.item_name=c.motherboard) join user_custom u join u.mother_applicable=c.form_factor
    where c.form_factor = 'ATX Motherboard'
    

    【讨论】:

      猜你喜欢
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 2014-05-18
      • 2013-06-17
      • 2020-01-20
      • 2014-08-13
      • 2021-04-01
      • 1970-01-01
      相关资源
      最近更新 更多