0

SELECT sql ステートメントに問題があり、まだ解決していません。関数を使用して結果を印刷すると、mysql_fetch_assoc()繰り返しの行/レコードが得られます。レコードは 13 回繰り返されます。理由はわかりませんが、私の知識が教えてくれる限り、私はそれを正しく行いました.

以下は私のSQLクエリです:

SELECT 
    members.member_id, 
    members.firstname, 
    members.lastname, 
    billing_details.Street_Address, 
    billing_details.Mobile_No, 
    orders_details.*, 
    food_details.*, 
    categories.*, 
    cart_details.*, 
    quantities.* 
FROM 
    members, billing_details, orders_details, categories, 
    quantities, food_details, cart_details 
WHERE 
    members.member_id=orders_details.member_id AND 
    billing_details.billing_id=orders_details.billing_id AND 
    orders_details.cart_id=cart_details.cart_id AND 
    cart_details.food_id=food_details.food_id AND 
    cart_details.quantity_id=quantities.quantity_id
4

4 に答える 4

1

を使用しSELECT DISTINCTます。

ご注意ください

ライブラリを使用するmysql_*ことは悪い習慣です。これらは非推奨mysqli_*であり、ライブラリまたはPDOオブジェクトに置き換える必要があります。

于 2013-05-04T11:07:08.837 に答える
0

各 member_id を一度だけ表示したい場合は、次を使用できますDISTINCT

SELECT DISTINCT members.member_id, ...

JOIN USING繰り返しを避けるために使用することもできます(DRY):

http://dev.mysql.com/doc/refman/5.7/en/join.html (検索USING(column_list))

そうすれば、結合されたテーブル名のすぐ隣にある msising 述語にも気付くはずです。

于 2013-05-04T11:07:07.203 に答える