gpt4 book ai didi

php - 另一个 mysql JOIN 问题

转载 作者:行者123 更新时间:2023-11-29 15:05:31 25 4
gpt4 key购买 nike

我有这些表:

classified:
classified_id (PK)
price
headline
cat_id // THIS IS ANYTHING FROM 1 TO 30 DEPENDING ON CATEGORY. IT IS SO THAT I CAN LINK WHICH CATEGORY TO USE IN THE CATEGORY TABLE BELOW
text
etc...

category:
cat_id (PK)
cat_name

category_options:
option_id (PK)
cat_id (FK) // FOREIGN KEY FROM CATEGORY TABLE...
option_name

option_values:
value_id (PK)
option_id (FK)
classified_id (FK)
value

我应该如何在这里使用 join,有人能给我一个简单的例子吗?

这是我的设置示例:

      category
cat_id cat_name
1 cars

category_options
option_id cat_id option_name
1 1 color
2 1 gearbox

option_values
value_id option_id classified_id value
1 1 22 red
2 2 22 manual

classified
classified_id price headline cat_id
22 5000 'test' 1 //for cars

我希望能够通过仅“知道”classified_id(在本例中为 22)来检索一个类别(在此例汽车中)的所有选项及其值。

基本上,我需要有关 join 语句的帮助...

并且请不要在代码中使用别名来简化它:)

谢谢

最佳答案

我知道这并不能回答您的主要问题,但我想提供一个建议,我相信这会让您的生活更轻松......

  1. PK 列的列名称 - 只需将它们全部命名为“id”。减少您必须记住的事情的数量。消除了困惑和潜在错误的主要根源。

  2. 使表名保持一致。我的意思是让它们都具有相同的形式。您可以将它们全部设置为单数名词或全部为复数名词,但只需将它们设置为相同即可。查询变得更容易编写和理解。

    分类广告

    类别

    category_options

    选项值

  3. FK 列的列名称 - 像这样:parent_table_id。例如:classified.category_id

  4. 消除任何不包含新信息的废话。例如,category.name 而不是 category.cat_name

关于php - 另一个 mysql JOIN 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2209338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com