여러 열을 사용한 SQL 내부 조인

Tom Granot

나는 2 개의 테이블이있다- 요리재료 :

요리, 나는 같은 주문 피자 요리의 목록을 가지고있다 :요리 테이블

에서 성분, 나는 같은 주문한 모든 요리에 대한 모든 다른 성분의 목록을 가지고있다 :성분 표

각 요리의 이름과 함께 각 요리의 모든 재료 이름을 모두 나열 할 수 있기를 원합니다 .

나는 성분 ID를 이름으로 바꾸지 않고 대신 빈 세트를 반환하도록 선택하는이 쿼리를 작성했습니다. 내가 뭘 잘못하고 있는지 설명해주세요.

    SELECT dishes.name, ingredients.name, ingredients.id
FROM dishes
INNER JOIN ingredients
ON dishes.ingredient_1=ingredients.id,dishes.ingredient_2=ingredients.id,dishes.ingredient_3=ingredients.id,dishes.ingredient_4=ingredients.id,dishes.ingredient_5=ingredients.id,dishes.ingredient_6=ingredients.id, dishes.ingredient_7=ingredients.id,dishes.ingredient_8=ingredients.id;

다음을 참조 할 수 있다면 좋을 것입니다.

  1. The logic of the DB structuring - am I doing it correctly?
  2. The logic behind the SQL query - if the DB is built in the right fashion, then why upon executing the query I get the empty set?
  3. If you've encountered such a problem before - one that requires a single-to-many relationship - how did you solved it in a way different than this, using PHP & MySQL?

Disregard The Text In Hebrew - Treat It As Your Own Language.

Eric Hotinger

1. The logic of the DB structuring - am I doing it correctly?

  • This is denormalized data. To normalize it, you would restructure your database into three tables:
    • Pizza
    • PizzaIngredients
    • Ingredients

Pizza would have ID, name, and type where ID is the primary key.

PizzaIngredientsPizzaIdIngredientId(이 기본 키는 복합 키인 많은 많은 테이블 PizzaIdIngredientID)는

Ingredients가지고 ID있고 기본 키는 name어디에 ID있습니다.

2. 각 요리의 이름과 함께 각 요리의 모든 재료 이름을 모두 나열합니다. MySQL(unested) 에서 이와 같은 것 :

SELECT p.ID, p.name, GROUP_CONCAT(i.name) AS ingredients
FROM pizza p
INNER JOIN pizzaingredients pi ON p.ID = pi.PizzaID
INNER JOIN ingredients i ON pi.IngredientID = i.ID
GROUP BY p.id

3. 이전에 일대 다 관계가 필요한 문제를 경험 한 적이 있다면 PHP와 MySQL을 사용하여이 문제를 어떻게 해결 했습니까?

  • 다 대다 관계를 사용하는 것입니다. 당신은 많은 재료를 가질 수있는 많은 피자를 가지고 있습니다. 그리고 많은 재료가 다양한 피자에 속합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

SQL Server의 여러 열에 대한 내부 조인

분류에서Dev

t-sql 내부 조인을 사용하여 여러 행 업데이트

분류에서Dev

내부 조인을 사용하여 T SQL 선택 피벗

분류에서Dev

내부 조인을 사용하여 SQL에서 계산

분류에서Dev

동일한 테이블을 사용한 SQL Server 내부 조인

분류에서Dev

SQL Server-조인 및 여러 조건을 사용한 쿼리

분류에서Dev

내부 조인을 사용하여 동일한 열에 대한 개수 얻기

분류에서Dev

임시 테이블을 사용한 SQL 쿼리 내부 조인

분류에서Dev

SQL Server 2008 : 내부 조인을 사용한 쿼리 성능

분류에서Dev

여러 내부 조인을 사용하는 방법

분류에서Dev

SQL 쿼리에서 내부 조인을 사용하여 선택하는 곳과 유사한 linq 작성

분류에서Dev

SQL 쿼리-내부 조인을 사용하여 테이블에서 Id가있는 여러 열의 합계 얻기

분류에서Dev

내부 조인을 사용하여 SQL의 열을 그룹화하는 방법은 무엇입니까?

분류에서Dev

내부 조인을 사용하여 내 쿼리에서 여러 중복

분류에서Dev

여러 내부 및 외부 조인을 사용하여 쿼리 속도 향상

분류에서Dev

SQL 내부 조인 사용

분류에서Dev

여러 열을 사용한 고유 한 조건부 서식

분류에서Dev

SQL 내부 조인 및 여러 행

분류에서Dev

내부 조인 사용하여 다른 열을 업데이트

분류에서Dev

SQL : XML을 입력으로 사용하여 내부 조인 수행

분류에서Dev

SQL의 여러 내부 조인에서 조건이 실패한 경우

분류에서Dev

where 절을 사용한 내부 조인

분류에서Dev

"내부 조인"절을 사용하여 두 테이블을 조인 한 다음 여러 "왼쪽 조인"절을 따르는 방법이 있습니까?

분류에서Dev

여러 열의 내부 조인

분류에서Dev

문자열 일치에 SQL 내부 조인을 사용합니까?

분류에서Dev

Postgres SQL 다중 외부 조인을 사용하여 시계열 생성

분류에서Dev

sql-내부 조인을 사용하여 where 절에서 열을 참조하는 더 빠르고 더 좋은 방법은 무엇입니까?

분류에서Dev

SQL 내부 조인 여러 테이블을 하나의 쿼리로

분류에서Dev

mssql-내부 조인을 사용하여 동일한 행에 열 값을 표시합니까?

Related 관련 기사

  1. 1

    SQL Server의 여러 열에 대한 내부 조인

  2. 2

    t-sql 내부 조인을 사용하여 여러 행 업데이트

  3. 3

    내부 조인을 사용하여 T SQL 선택 피벗

  4. 4

    내부 조인을 사용하여 SQL에서 계산

  5. 5

    동일한 테이블을 사용한 SQL Server 내부 조인

  6. 6

    SQL Server-조인 및 여러 조건을 사용한 쿼리

  7. 7

    내부 조인을 사용하여 동일한 열에 대한 개수 얻기

  8. 8

    임시 테이블을 사용한 SQL 쿼리 내부 조인

  9. 9

    SQL Server 2008 : 내부 조인을 사용한 쿼리 성능

  10. 10

    여러 내부 조인을 사용하는 방법

  11. 11

    SQL 쿼리에서 내부 조인을 사용하여 선택하는 곳과 유사한 linq 작성

  12. 12

    SQL 쿼리-내부 조인을 사용하여 테이블에서 Id가있는 여러 열의 합계 얻기

  13. 13

    내부 조인을 사용하여 SQL의 열을 그룹화하는 방법은 무엇입니까?

  14. 14

    내부 조인을 사용하여 내 쿼리에서 여러 중복

  15. 15

    여러 내부 및 외부 조인을 사용하여 쿼리 속도 향상

  16. 16

    SQL 내부 조인 사용

  17. 17

    여러 열을 사용한 고유 한 조건부 서식

  18. 18

    SQL 내부 조인 및 여러 행

  19. 19

    내부 조인 사용하여 다른 열을 업데이트

  20. 20

    SQL : XML을 입력으로 사용하여 내부 조인 수행

  21. 21

    SQL의 여러 내부 조인에서 조건이 실패한 경우

  22. 22

    where 절을 사용한 내부 조인

  23. 23

    "내부 조인"절을 사용하여 두 테이블을 조인 한 다음 여러 "왼쪽 조인"절을 따르는 방법이 있습니까?

  24. 24

    여러 열의 내부 조인

  25. 25

    문자열 일치에 SQL 내부 조인을 사용합니까?

  26. 26

    Postgres SQL 다중 외부 조인을 사용하여 시계열 생성

  27. 27

    sql-내부 조인을 사용하여 where 절에서 열을 참조하는 더 빠르고 더 좋은 방법은 무엇입니까?

  28. 28

    SQL 내부 조인 여러 테이블을 하나의 쿼리로

  29. 29

    mssql-내부 조인을 사용하여 동일한 행에 열 값을 표시합니까?

뜨겁다태그

보관