21572 次
4 に答える
13
私は以下がうまくいくはずだと信じています:
SELECT *
FROM Recipes
LEFT JOIN Recipe_Prep_Texts USING (ID_Prep_Text)
LEFT JOIN Recipe_Pictures USING (ID_Picture)
LEFT JOIN mp_References USING (ID_Reference)
于 2009-12-24T10:20:57.637 に答える
4
結合しているほとんどのテーブルには、最初の列を除いていくつかの列があるように見えるので、どうですか:
SELECT Recipes.*,
Recipe_Prep_Texts.Preparation_Text,
Recipe_Pictures.Foo, -- describe is missing in OP
mp_References.ID_Title,
mp_References.ID_Category
FROM Recipes
LEFT JOIN (Recipe_Prep_Texts, Recipe_Pictures, mp_References)
ON (
Recipe_Prep_Texts.ID_Prep_Text = Recipes.ID_Prep_Text AND
Recipe_Pictures.ID_Picture = Recipes.ID_Picture AND
mp_References.ID_Reference = Recipes.ID_Reference
);
何度も言いたくない
SELECT (* - foo) FROM table
特に、foo が BLOB のような巨大なフィールドであり、フォーマットを崩さずに他のすべてを表示したい場合は特にそうです。
于 2009-12-24T06:44:40.430 に答える
2
結合された結果のテーブルから*を選択しています。その*を保持したい列に制限します。
于 2009-12-24T00:32:01.803 に答える
1
次のクエリを試してください。
SELECT name,ac,relation_name
FROM table1
LEFT JOIN table2 USING (ID_Prep_Text)
LEFT JOIN table3 USING (ID_Picture);
于 2016-03-03T12:39:04.433 に答える