次の SQL クエリがありますが、問題が発生しました。実行すると、"products" テーブルの "sn" 列から同じシリアル番号が 2 つ取得されました。
SELECT specifications.productname, 
products.sn, specifications.year,
lendings.lending_date
FROM products
INNER JOIN lendings ON products.id = lendings.product_id
INNER JOIN specifications ON products.sn LIKE CONCAT(\'%\', specifications.sn, \'%\') OR products.type LIKE CONCAT(\'%\', specifications.type, \'%\')
WHERE lendings.user_id = ?
編集:
貸出表:
user_id       product_id
1             1
1             2
2             3
仕様表:
productname   year        type     sn
name1         2012        1        1234
name2         2011        2        4321
name3         2010        3        3241
製品表:
id            sn
1             AAAAAAAA1234
2             BBBBBBBB4321
3             CCCCCCCC3241
EDIT2:
SELECT products.id, 
       specifications.productname, 
       products.sn, 
       specifications.year, 
       lendings.lending_date
FROM products
INNER JOIN lendings ON products.id = lendings.product_id
INNER JOIN specifications ON products2.sn LIKE CONCAT(specifications.sn, \'%\') OR    products.type = specifications.type
WHERE lendings.user_id = ?