gpt4 book ai didi

MySQL 选择并显示 16 次的行

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

我有一个问题:

SELECT OGLOSZENIA.Id_ogloszenia, TYP_NADWOZIA.Nazwa_nadwozie, OGLOSZENIA.Opis,
WOJEWODZTWA.Nazwa_wojewodztwo, OGLOSZENIA.Miasto, OGLOSZENIA.Rocznik, OGLOSZENIA.Cena,
OGLOSZENIA.id_model, MARKI.Nazwa_marka, MODELE.Nazwa_model, ZDJECIA.Zdjecie,
SILNIK.Nazwa_silnik, KOLORY.Nazwa_kolor, OGLOSZENIA.Moc, OGLOSZENIA.Pojemnosc
FROM OGLOSZENIA, MARKI, MODELE, ZDJECIA, WOJEWODZTWA, TYP_NADWOZIA, SILNIK, KOLORY
WHERE OGLOSZENIA.Id_koloru = KOLORY.Id_koloru AND
OGLOSZENIA.Id_silnik = SILNIK.Id_silnik AND
OGLOSZENIA.Id_kategoria = TYP_NADWOZIA.Id_kategoria AND
MODELE.Id_marka = MARKI.Id_marka AND
OGLOSZENIA.Id_model = MODELE.Id_model AND
OGLOSZENIA.Id_ogloszenia = ZDJECIA.Id_ogloszenia
ORDER BY OGLOSZENIA.Id_ogloszenia DESC;

在数据库中,我在“OGLOSZENIA”中有 3 行,但是当我查询时,显示 48 行。 DB 中的 1 行显示 16 次。问题出在哪里?

最佳答案

您有 8 个表,但只有 6 个连接条件。缺少一个条件,结果是 CROSS JOIN

FROM 部分:

FROM OGLOSZENIA, MARKI, MODELE, ZDJECIA
, WOJEWODZTWA, TYP_NADWOZIA, SILNIK, KOLORY
WHERE OGLOSZENIA.Id_koloru = KOLORY.Id_koloru AND
OGLOSZENIA.Id_silnik = SILNIK.Id_silnik AND
OGLOSZENIA.Id_kategoria = TYP_NADWOZIA.Id_kategoria AND
MODELE.Id_marka = MARKI.Id_marka AND
OGLOSZENIA.Id_model = MODELE.Id_model AND
OGLOSZENIA.Id_ogloszenia = ZDJECIA.Id_ogloszenia

应该使用明确的 JOIN 语法编写:

FROM OGLOSZENIA
JOIN SILNIK ON OGLOSZENIA.Id_silnik = SILNIK.Id_silnik
JOIN MODELE ON OGLOSZENIA.Id_model = MODELE.Id_model
JOIN MARKI ON MODELE.Id_marka = MARKI.Id_marka
JOIN KOLORY ON OGLOSZENIA.Id_koloru = KOLORY.Id_koloru
JOIN ZDJECIA ON OGLOSZENIA.Id_ogloszenia = ZDJECIA.Id_ogloszenia
JOIN TYP_NADWOZIA ON OGLOSZENIA.Id_kategoria = TYP_NADWOZIA.Id_kategoria
JOIN WOJEWODZTWA ON ???

关于MySQL 选择并显示 16 次的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8927302/

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