0

私は現在2つのテーブルを持っています

他に格納できるすべての異なる値(名前)を格納するテーブル。

item_slots: 
id | Name

items_list:
id | user_id | i_slot | Name

item_slotsには11のエントリがありますが、items_listには無限のエントリがあります。items_listのクエリ中に、user_idに基づいて任意の数のアイテムを返すことができます。

i_slotの関連付けられたIDに基づいて、items_list.i_slotをitem_slots.nameに置き換える必要があります

私は次のことを試みています:

SELECT il.* is.name
FROM items_list AS il
JOIN item_slots AS is 
ON is.id = il.i_slot
WHERE il.user_id = 3

これにより、次のエラーが返されます。#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.name FROM items_list AS il JOIN item_slots AS is ON is.id = il.i_slot WHERE il' at line 1

4

2 に答える 2

2

isMySQLで予約されているキーワードです。あなたはそれの周りにバックティックを配置する必要があります:

SELECT il.*, `is`.name
FROM items_list AS il
JOIN item_slots AS `is` 
ON `is`.id = il.i_slot
WHERE il.user_id = 3
于 2012-07-11T17:48:08.127 に答える
1

isMySQLのキーワードです(IS NULL他のように)、これを試してください(エイリアスをエスケープします)

SELECT il.*, `is`.name
FROM items_list AS il
JOIN item_slots AS `is` 
ON `is`.id = il.i_slot
WHERE il.user_id = 3
于 2012-07-11T17:47:24.237 に答える