データを取得するためにこの種の問題に直面するのはこれが 2 回目です。
CREATE TABLE `pm_projects` (
`project_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`project_name` varchar(255) NOT NULL,
`assigned_client` varchar(100) NOT NULL,
`project_detail` longtext NOT NULL,
`creation_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`project_status` tinyint(1) NOT NULL,
PRIMARY KEY (`project_id`),
KEY `assigned_client` (`assigned_client`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
assigned_client
上の表には、プロジェクトに割り当てられたクライアントの複数の ID をコンマ区切り ( ) で保持するフィールドがあります3,4,...
。
そして、割り当てられたクライアントの名前(私のpm_users
テーブルにあります)を使用して、このテーブルの結果を取得しようJOIN
としています。次のことを試しました:
SELECT
p.project_id, u.user_name, p.project_name,
p.creation_date, p.project_status
FROM pm_projects p
LEFT JOIN pm_users u ON u.user_id
IN (
'p.assigned_clients'
)
NULL
フィールドの値を返しますu.user_name
。
スキーマを変更する必要がありますか? はいの場合、どうすればよいですか?
または、間違ったクエリで試していますか?